3

ユーザーがクリックしたときにボタンを無効にしたい。できましたが、私のやり方が良くなかったと思います。私のやり方:

このコンテナ div を JavaScriptで設定ViewBag.IsSaveButtonDisabledして確認し、保存ボタンを無効にしました。true私は知っています、それは悪い解決策です。サーバー側で送信ボタンの無効なプロパティを制御したい。

そのためのベストプラクティスは何ですか?

4

2 に答える 2

5

ビューモデルに新しいプロパティを追加する

モデル

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/> 
于 2013-02-08T13:26:26.900 に答える
4

コントローラーで 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");
    }
});
于 2013-02-08T13:37:11.993 に答える