使用viewmodel在视图中显示图像

时间:2016-06-21 02:33:13

标签: c# sql asp.net-mvc view viewmodel

美好的一天,你好吗? 我目前正在使用mvc,c#,sql,我这样做: 我有一个像这样的viewmodel:

 public class htmlviewmodel
{
    public string Color { get; set; }
    public string body { get; set; }
    public string style { get; set; }
}

我正在尝试获取图片网址并在我的视图中显示图片,网址来自我的数据库

  entity db = new myentity();
  var html = new htmlviewmodel();
  html.body="<img src=&quot;"+db.getmyimageurl().tostring()+";&quot; > ";

我的观点如下:

<div> my image: @Model.html.body  </div>

但它不显示图像,而是显示像这样的字符串

<img src=&quot;imageUrlNotworking....//...;&quot; > "

我做错了吗?我该怎么解决?谢谢!

2 个答案:

答案 0 :(得分:0)

您的第二个;&quot;在开始时不需要;,而不是&quot;您可以使用\"'(单个)。 之后你必须首先解码html,然后用Html.Raw方法渲染你的html:

<div> my image: @Html.Raw(System.Web.HttpUtility.HtmlDecode(Model.html.body))  </div>

或将您的字符串转换为HtmlString,如下所示:

@{ var htmlBody= new HtmlString(System.Web.HttpUtility.HtmlDecode(Model.html.body));}
 <div> my image: @htmlBody  </div>

答案 1 :(得分:0)

如果您将图片网址存储在数据库中,其商店就像&#34; c:\ picture.png。&#34;但你实际上需要&#34; c:/picture.png"。所以转换&#39; \&#39;到这个&#39; /&#39;。我以前是这样面对的。