有幾件事情我想談中產生。
1)在View中運行時生成圖像URL並不是一個好習慣。你應該使用視圖模型用於該目的這樣
public class MyViewModel
{
public MyModel m;
public void MyViewModel(MyModel m){this.m=m;}
public string ActualIMageUrl
{
get
{
return "public/Images/"+m.RoleId+".jpg";
}
}
}
現在使你的觀點強類型視圖這個視圖模型類,而不是模型。
2)不直接使用IMG標籤在你看來,與其使用extenion方法如下用於HtmlHelperClass創造新方法,
public static class MVCExtensions
{
public static MvcHtmlString Image(this HtmlHelper helper, string src, string altText, string height)
{
var builder = new TagBuilder("img");
builder.MergeAttribute("src", src);
builder.MergeAttribute("alt", altText);
builder.MergeAttribute("height", height);
return MvcHtmlString.Create(builder.ToString(TagRenderMode.SelfClosing));
}
}
現在在查看
@model MyViewModel
.
.
.
@Html.Image(Model.ActualImageUrl);
希望它可以幫助