2

私がモデルを持っているとしましょう

public class ViewModel 
{
    [Required]
    [Display(Name = "Email address")]
    public string Email { get; set; }

    public string ExtraData{ get; set; }
}

GETExtraDataアクションに追加される余分なテキストは次のとおりです。

    [HttpGet] 
    public ActionResult ActionMethod()
    {
        ViewModel modelWithExtraData= new ViewModel{ ExtraData = "Some extra data." };
        return PartialView("MyView", modelWithExtraData);
    }

ビュー内で次のようにレンダリングされます。

<form>
    @Html.TextBoxFor(m => m.Email)
    <div>@Model.ExtraData</div>
<form>

このフォームがコントローラーに投稿されたとき、追加データ「いくつかの追加データ」をそのままにしてモデルと共に投稿したいのですが、これは起こりません。

    [HttpPost]
    public ActionResult ActionMethod(ViewModel model)
    {
        //model.ExtraData = null ... Not good
    }

私はすべての @Html ヘルパー メソッドを調べましたが、単純にテキスト (編集不可) を表示して送り返すための適切なメソッドを見つけることができないようです。

4

1 に答える 1

4

テキストボックスと一緒に、フォーム内の非表示フィールドとして追加のデータを含めることができます。

<form>
    @Html.TextBoxFor(m => m.Email)
    @Html.HiddenFor(m => m.ExtraData)
    <div>@Model.ExtraData</div>
<form>
于 2012-12-23T07:19:27.233 に答える