我是 Mvc 的新手,我的图像可能是正确的或错误的图像,具体取决于用户给出的答案。
这是我当前的代码:
@if (Model.IsCorrect)
{
<img src="@Url.Content(@"~/Content/images/Default_Correct.png")" alt="correct" />
}
else
{
<img src="@Url.Content(@"~/Content/images/Default_Wrong.png")" alt="wrong" />
}
这非常有效,但我认为必须有更清洁/更好的方法来做这样的事情。
最佳答案
如果你像我一样讨厌用意大利面条代码污染你的 View ,你可以编写一个自定义助手:
public static class ImageExtensions
{
public static IHtmlString MyImage(this HtmlHelper htmlHelper, bool isCorrect)
{
var urlHelper = new UrlHelper(htmlHelper.ViewContext.RequestContext);
var img = new TagBuilder("img");
if (isCorrect)
{
img.Attributes["alt"] = "correct";
img.Attributes["src"] = urlHelper.Content("~/Content/images/Default_Correct.png");
}
else
{
img.Attributes["alt"] = "wrong";
img.Attributes["src"] = urlHelper.Content("~/Content/images/Default_Wrong.png");
}
return MvcHtmlString.Create(img.ToString(TagRenderMode.SelfClosing));
}
}
在您看来只是:
@Html.MyImage(Model.IsCorrect)
关于asp.net-mvc - 如何使用 MVC 3 (Razor) 向图像添加动态源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7284372/