ASP MVC 2 问题 - 尝试在视图中的 for 循环中显示图像
Posted
技术标签:
【中文标题】ASP MVC 2 问题 - 尝试在视图中的 for 循环中显示图像【英文标题】:ASP MVC 2 issue - trying to display images in a for-loop in a view 【发布时间】:2011-06-30 20:28:50 【问题描述】:我正在尝试显示视频游戏评论的排名。排名以 5 颗星中的金星数量显示。因此,如果游戏的评论分数为 3,则应该有 3 颗金星,然后是 2 颗灰色/空星。
我的视图中有以下循环来渲染图像:
<% for (int i = 0; i < Model.Game.ReviewScore; ++i)
%>
<img src="~/Content/Images/Review/goodscore.png" runat="server" />
<% %>
<% for (int j = 0; j < (5 - Model.Game.ReviewScore); ++j)
%>
<img src="~/Content/Images/Review/badscore.png" runat="server" />
<% %>
问题是循环中只显示了一张goodscore.png
图像。同样,如果分数允许空星,则只显示一个badscore.png
。
查看一个得分为 3 的游戏的渲染 html,我看到了:
<img src="../Content/Images/Review/goodscore.png" />
<img />
<img />
<img src="../Content/Images/Review/badscore.png" />
<img />
所以,看起来我的循环中的数学是正确的,只是图像路径没有被写入第二次以上的迭代。关于造成这种情况的任何想法?
【问题讨论】:
【参考方案1】:我怀疑您需要删除 img 标签中的 runat="server"
。这告诉 ASP 处理标记。您希望客户端显示图像。
使用帮助器,例如:Url.Content(...)
在 MVC 中插入以 ~ 开头的正确路径。
【讨论】:
这是一个预先存在的助手吗? 是的,Url.Content(applicationAbsolutePath);
在您看来应该可以工作。 msdn.microsoft.com/en-us/library/system.web.mvc.urlhelper.aspx以上是关于ASP MVC 2 问题 - 尝试在视图中的 for 循环中显示图像的主要内容,如果未能解决你的问题,请参考以下文章
手动编码 MVC 视图与 asp:ServerControls
当我尝试使用 EF 在 ASP.NET MVC5 中查询视图时,为啥会收到错误“数据库 'ELITEPROD' 中的 CREATE TABLE 权限被拒绝”?