使用显式表达
<img src="images/image0@(i)" />
这会给你的输出像
<img src="images/image01">
<img src="images/image02">
<img src="images/image03">
理想情况下,我会避免使用这种 for 循环并在视图中创建图像 URL 值。相反,我将在我的 ViewModel 中有一组图像
public class UserProfile
{
public string Name { set;get;}
public List<UserImage> Images {set;get;}
public UserProfile()
{
Images=new List<UserImage>();
}
}
public class UserImage
{
public string URL { set;get;}
public string Caption { set;get;}
}
并使用 Images 集合将此 ViewModel 返回到我的视图
public ActionResult ShowUser(int id)
{
var user=new UserProfile();
user.Name="SomeName";
//to do : get images from db and set instead of being hard coded
user.Images.Add(new UserImage { URL="someImge1.jpg"});
user.Images.Add(new UserImage { URL="someImge2.jpg"});
return View(user);
}
在我们的强类型视图中,我们将显示它,
@model UserProfile
<table>
foreach(var img in Model.Images)
{
<tr>
<td><img src=@img.URL" alt="@img.Caption" /></td>
</tr>
}
</table>
我们没有在视图中混合任何代码。设置图像 url 应该在你的控制器中完成。如果图像在 Content 文件夹中,您可以使用Url.Content
HTML 辅助方法来获取路径。