現在、jquery モーダル ダイアログでサーバー側の検証を取得しようとしています。Ajaxでフォームを送信していますが、バリデーションが失敗した場合、ダイアログを表示してバリデーションエラーを指摘したいと考えています。
私はそれのほとんどを機能させていますが、私が抱えている問題は1つだけです。
フォームが送信され、コントローラーによって受信されています。ページにエラーがあることを認識し、ビューを再表示しようとします。送信されなかったフィールド、つまり一部のデータのみを表示するテーブルが必要なため、ビューを再表示できません。
私の質問は、モデル データを保持しているテーブルを送信するビューを取得するにはどうすればよいかということです。
明確にするために、これが起こっていることです:
1.モーダルダイアログの送信ボタンが押された
2.編集可能なフォームデータを送信する <---- 編集不可能なデータを送信したい
3.コントローラーがモデルを検証する
4.検証に失敗する
5.コントローラーはモデルをビューに返します
6.一部のデータが欠落しているため、ビューを表示できません
これは私が提出したい編集不可能なデータです
@foreach (var hour in Model.Hours)
{
<tr>
<td>@hour.CreatedBy</td>
<td>@hour.WorkingStart</td>
<td>@hour.HourComment</td>
<td>@hour.SecondsUsed</td>
</tr>
}
モデル:
public TaskEditAVwTask Task { get; set; }
public int numdays { get; set; }
public string firstday { get; set; }
public string lastday { get; set; }
public float taskhoursused { get; set; }
public List<TaskEditAVwHour> Hours { get; set; }
主な問題は、ビューがこのデータ自体を再表示する必要があることです。
検証が失敗したときにデータベースからデータをフェッチすることもできますが、これは最後の手段にする必要があると思います。
これがあまり明確でない場合は申し訳ありませんが、できるだけ明確にしようとしました。