ユーザーがクリックしたときにボタンを無効にしたい。できましたが、私のやり方が良くなかったと思います。私のやり方:
このコンテナ div を JavaScriptで設定ViewBag.IsSaveButtonDisabled
して確認し、保存ボタンを無効にしました。true
私は知っています、それは悪い解決策です。サーバー側で送信ボタンの無効なプロパティを制御したい。
そのためのベストプラクティスは何ですか?
ユーザーがクリックしたときにボタンを無効にしたい。できましたが、私のやり方が良くなかったと思います。私のやり方:
このコンテナ div を JavaScriptで設定ViewBag.IsSaveButtonDisabled
して確認し、保存ボタンを無効にしました。true
私は知っています、それは悪い解決策です。サーバー側で送信ボタンの無効なプロパティを制御したい。
そのためのベストプラクティスは何ですか?
ビューモデルに新しいプロパティを追加する
モデル
viewModel{
...
public string IsDisabled{ get; set; }
}
コントローラ
public ActionResult Index()
{
viewModel model = new viewModel { ... , IsDisabled = "disabled"};
return View(model);
}
そしてあなたのビューで
@model viewModel
<input type="submit" value="Kaydet" @Model.IsDisabled/>
コントローラーで false/true に設定ViewData["IsEnabled"]
し、ビューに戻ります。
public ActionResult ButtonEvent()
{
ViewData["IsEnabled"]=false;
// ... do something
ViewData["IsEnabled"]=true;
return View();
}
で、jQuery
これViewData["IsEnabled"]
を使用してボタンを無効にします。
$(function(){
if(!@ViewData["IsEnabled"]){
$('#btnSubmit').attr('disabled','disabled');
} else {
$(this).removeAttr("disabled");
}
});