use*_*964 2 asp.net-mvc razor asp.net-mvc-3
我是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" />
}
Run Code Online (Sandbox Code Playgroud)
这完美地运作但我认为必须有一个更清洁/更好的方法来做这样的事情.
如果你像我一样讨厌用意大利面条代码污染你的观点,你可以写一个自定义助手:
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));
}
}
Run Code Online (Sandbox Code Playgroud)
在您看来简单地说:
@Html.MyImage(Model.IsCorrect)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2795 次 |
最近记录: |