1
<img alt="Upload Profile Pic" src="<%= ViewData["PicSource"].ToString() %>" />

UPDATE:また、この構文を記述すると、Visual Studio は、いくつかの構文エラーがあり、記述した構文が機能せず、間違っているように見える場合と同様に、HTML コードのいくつかの要素に赤いカーリー ラインで下線を付けます。それを構築し、それは働いた。

また、html コードの自動フォーマットも拒否します。これは、この構文が機能することを知っていたとしても、このように書くたびに何か間違ったことをしたと感じるので、この質問をする十分な理由でした.

4

1 に答える 1

3

はい、そのように書く ことができます。

ただし、これは「スパゲッティ コード」と呼ばれることが多く、ベスト プラクティスはヘルパー メソッドを使用することです。

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"});
于 2011-03-12T12:29:42.657 に答える