私は潜在的に失敗する可能性のある(可能性は低い)サーバー関連の作業を行っていますが、何かがうまくいかない可能性があります。ユーザーがこれ以上先に進まないようにしたいので、入力を無効にして、ページを更新する必要があります。ModelStateエラーに基づいて無効にするにはどうすればよいですか。エラーが存在する場合は、このボックスを無効にしてください。ページが最初に読み込まれたときにのみ無効にします。私の問題は必ずしもそれを行う方法ではなく、それを行うための標準的で最良の方法は何ですか。私はそれを無効にするための真の偽を保持するViewBagを持つことができますが、それが最良のルートであるかどうかはわかりません、何か提案はありますか?
質問する
1134 次
2 に答える
3
いくつかの処理を実行し、失敗した場合にModelStateにエラーを追加するPOSTコントローラーアクションがあると仮定します。これはかなり標準的です。ビュー内で次のことができます。
@Html.TextBoxFor(
x => x.SomeProperty,
!ViewData.ModelState.IsValid ? new { @readonly = "readonly" } : null
)
または、仕事をして物事を単純化するカスタムヘルパーを作成します。
@Html.MyTextBoxFor(x => x.SomeProperty)
複数の入力フィールドに対してこの動作が必要な場合に役立ちます。
于 2012-06-13T12:22:36.000 に答える
0
フォームがjqueryで有効かどうかを確認できます。
if($('form').valid()){
}
于 2012-06-13T05:46:07.670 に答える