私のビューモデルでは、オブジェクトのリストがあります。私はこれらのオブジェクトを反復し、それぞれのコントロールを作成します。以下の状況では、各オブジェクトにテキストボックスとボタンを表示する必要があります。ユーザーがボタンをクリックすると、投稿が作成され、コントローラーにデータを保存できます。 UIでMVC 4でコントロールとフォーム(Html.BeginForm)を送信する各ループについて
、ユーザーは、彼らが望むフォームを変更し、[保存]をクリックすることができます。
私の問題は、それがコントローラに掲載されますときに、モデルがnullの..です
マイカミソリコード:
using (Html.BeginForm())
{
foreach (var contributor in Model.Contributor)
{
@Html.HiddenFor(model => contributor.Id)
<div class="formrow">
@Html.ValidationSummary(true)
</div>
<h2>@Html.TextRaw("AuthorInfo", "Author")</h2>
<div class="formrow">
@Html.EditorFor(model => contributor.FirstName)
<div class="formvalidation">
@Html.ValidationMessageFor(model => contributor.FirstName)
</div>
</div>
<div class="formrow right">
<input type="hidden" name="formsubmitted" value="true" />
<input type="submit" class="button" value="@Html.Text("ButtonText", "Save")" />
</div>
}
}
マイビューモデルコード
public class ProfileModel
{
public string Message { get; set; }
public List<PublisherModel> Publisher { get; set; }
public List<ContributorModel> Contributor { get; set; }
public ContributorModel NewContributor { get; set; }
}
私のコントローラコード
[HttpPost]
public ActionResult Mine(ProfileModel model, string newuser)
{
//
}
これを修正するにはどうすればよいですか?
は、私はいくつかの方法で変更を保存するための方法で私の見解モデルを展開する必要が推測します。しかし、私は本当にどのように見ることができません。それがコントローラに到達したときに
は今ProfileModel内のすべてのプロパティはnullです。
アイデア?
が、それはまだヌルですか? ' –
あなたは' @ Html.EditorForためにレンダリングしてHTMLを投稿することができます(モデルは=> contributor.FirstName)は、VIEWでのモデルは、(HttpPost)ContributorModelの一覧で、まだモデルが掲載されていますProfileModel?あなたの編集/表示と同じモデルタイプではありません! –
代がすぐそこに見えない – Zeddy