2

可能かどうかはわかりませんが、クラスにこれがあります:

public string TextNotIncluded 
{ 
    get
    { 
        return ("which is <u>not</u> included in the Quote");
    }
}

下線が引かれていない単語ではなく、 と が表示されています<u></u>私はC#に慣れていません。

誰でも簡単な答えを提供できますか?

ありがとう。

編集:

私はこれを私の見解で次のように呼んでいます: @MyClass.TextNotIncluded. @Html.Raw私の場合、これを何十ものビューに散らばっているので、ラップするのは効率的ではありません。

4

5 に答える 5

10

それを行うことに根本的な問題はありませんが、期待どおりにレンダリングされない可能性があります。

他の人が提案したように使用できます@Html.Rawが、html が含まれている可能性があることを示すような方法でモデルを明示的に宣言する方がよいと思います。MvcHtmlString代わりに、このクラスを使用することをお勧めします。

public MvcHtmlString TextNotIncluded 
{ 
    get { return MvcHtmlString.Create("which is <u>not</u> included in the Quote"); }
}

次に、ビューで次を使用できます。

@Model.TextNotIncluded
于 2013-04-15T20:39:51.427 に答える
7

Razor を使用している場合、文字列はデフォルトで HTML エンコードされます。Html.Rawエンコードをオフにするために使用する必要があります。

@Html.Raw(x.TextNotIncluded)

ASPX エンジンでは、次を使用します。<%= %>

<%= x.TextNotIncluded %> - this gives you the raw text
<%: x.TextNotIncluded %> - this HTML-encodes your text - you don't want this.
于 2013-04-15T20:39:41.620 に答える
4

生の HTML を出力するには、RawHTML ヘルパーを使用します。

@Html.Raw(TextNotIncluded)

このヘルパーは入力を HTML エンコードしないため、使用するときは注意してください。

于 2013-04-15T20:39:14.000 に答える
1

文字列を HTML エンコードする必要があります。ほとんどの人は MVC アプローチを推奨していますが、私はそれをプレゼンテーション層からより独立させたいと考えています。

public string TextNotIncluded { 
    get { 
        return System.Web.HttpUtility.HtmlEncode("which is <u>not</u> included in the Quote"); 
    }
}
于 2013-04-15T20:41:02.200 に答える
1

どちらでも使用できます

@Html.Raw(Model.TextNotIncluded)

また

@MvcHtmlString.Create(Model.TextNotIncluded)

あなたの見解で。

ただし、プロパティの戻り値の型を変更する方が良いでしょう:

public MvcHtmlString TextNotIncluded
{
    get
    {
        return MvcHtmlString.Create("which is <u>not</u> included in the Quote");
    }
}
于 2013-04-15T20:46:05.630 に答える