1

ビューに問題があり、TextAreaFor挿入した改行または書式設定を使用して何かを編集しているときに保存され、同じ要素を編集すると、次のように表示されます。

この冬、家族を楽しませる何かが必要ですか? または完璧なクリスマスプレゼントをお探しですか?どちらも CD WOW! で見つけることができます。

このオファーにより、メンバーは次のことができます。

• 音楽、映画、テレビ番組、本、ゲームなど、幅広いジャンルを検索できます。

• クリスマスに向けて最新リリースを自宅に直接届けましょう。世界各国への送料は無料です。

しかし、DisplayForまたは単に使用すると、次の@Model.Propertyように表示されます。

この冬、家族を楽しませる何かが必要ですか? または完璧なクリスマスプレゼントをお探しですか?どちらも CD WOW! で見つけることができます。このオファーにより、メンバーは次のことができます。 • 膨大な範囲の音楽、映画、テレビ、本、ゲームを検索します。• クリスマスに向けて最新リリースを自宅に直接届けましょう。世界各国への送料は無料です。

に示す形式で表示するには、何を使用すればよいTextAreaForですか?

4

3 に答える 3

4

タグを使用できます<pre>

<pre>
    @Html.DisplayFor(x => x.Property)
</pre>

\r\nもう1つの可能性は、新しい行( )を<br/>タグに置き換えるカスタムヘルパーを作成し、次のように使用することです。

@Html.DislpayFormattedFor(x => x.Property)

カスタムヘルパーを定義する方法は次のとおりです。

public static class HtmlExtensions
{
    public static IHtmlString DislpayFormattedFor<TModel>(
        this HtmlHelper<TModel> htmlHelper,
        Expression<Func<TModel, string>> expression
    )
    {
        var value = Convert.ToString(
            ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData).Model
        );
        if (string.IsNullOrEmpty(value))
        {
            return MvcHtmlString.Empty;
        }

        value = string.Join(
            "<br/>",
            value.Split(
                new[] { Environment.NewLine }, 
                StringSplitOptions.None
            ).Select(HttpUtility.HtmlEncode)
        );

        return new HtmlString(value);
    }
}
于 2012-05-25T09:38:09.490 に答える
1

フィールドを無効にするだけですか?そうすれば、既存のTextAreaFor:を使用できます。

@Html.TextAreaFor(m => m.Property, new { disabled = "disabled" })
于 2012-05-25T09:46:29.290 に答える
0

<pre> タグを使用するか、この css プロパティを div/span タグに追加します。

white-space: pre-wrap;

例 :

<div style="white-space: pre-wrap;">
  my
  multiline
  text
</div>
于 2013-06-24T10:56:30.640 に答える