0
検証が失敗し、ValidationSummaryがオフになったときに、投稿済みデータで事前入力されたフォームを再作成する方法を教えてください。バリデーターは発射されますが、フォームをあらかじめ準備する方法はありません。MVCの無効なフォームが返信されたフォームデータを失う
検証が失敗し、ValidationSummaryがオフになったときに、投稿済みデータで事前入力されたフォームを再作成する方法を教えてください。バリデーターは発射されますが、フォームをあらかじめ準備する方法はありません。MVCの無効なフォームが返信されたフォームデータを失う
あなたがされているデータモデルを返していることを確認してください...
catch (Exception ex)
{
TempData["Message"] = "An Error Occured while saving the product!";
ModelStateDictionary modelDictionary = Validation.UpdateModelStateWithRuleViolation(product, ViewData.ModelState);
TempData["ModelDataDict"] = modelDictionary;
}
は誤りで、私は私が使用TempDataを変数ににModelStateを割り当てるが、どのように私はすでにポストされたデータを使用してフォームを再作成することができますフォームが無効になっているため、送信されたデータと同じデータにフォームが再バインドされます。
この方法では、コンテンツを失うことはありません。もちろん、これは入力が既にデータモデルにバインドされている場合にのみ機能します。 (
<label>Name</label>
<%=Html.TextBox("Name", Model.MyClass.Name)%>
あなたはすでにこれを行っているかもしれませんが、投稿したコードからはわかりません。返す新しいビューにモデルを再割り当てしますか?もしそうでなければ、私はそのデータが投稿を通じて持続するとは思わない。 –
NerdDinnerサンプルアプリケーション(http://nerddinnerbook.s3.amazonaws.com/Part5.htm、「編集エラーの処理」)で検証が行われる方法に興味があります。 –