はい、そのように書く ことができます。
ただし、これは「スパゲッティ コード」と呼ばれることが多く、ベスト プラクティスはヘルパー メソッドを使用することです。
public static class ImageHelper
{
public static MvcHtmlString Image(this HtmlHelper html, string sourcePath, object htmlAttributes)
{
return html.Image(sourcePath, new RouteValueDictionary(htmlAttributes));
}
public static MvcHtmlString Image(this HtmlHelper html, string sourcePath, IDictionary<string,object> htnlAttributes)
{
if(string.IsNullOrEmpty(sourcePath))
{
throw new ArgumentException("Image source path cannot be null or empty.", "sourcePath");
}
TagBuilder tagBuilder = new TagBuilder("img");
tagBuilder.MergeAttributes<string,object>(htnlAttributes);
tagBuilder.MergeAttribute("src", sourcePath, true);
return MvcHtmlString.Create(tagBuilder.ToString(TagRenderMode.SelfClosing));
}
}
次に、あなたは次のように使用しています
Html.Image(ViewData["PicSource"] as string, new {alt = "Upload Profile Pic"});