3

我想在用户单击时禁用按钮。我可以,但我认为我的方式并不好。我的方式:

我通过javascript设置ViewBag.IsSaveButtonDisabledtrue检查了这个容器div,然后我禁用了保存按钮。我知道,这是不好的解决方案。我想在服务器端控制我的提交按钮的禁用属性。

它的最佳做法是什么?

4

2 回答 2

5

向 yourViewModel 添加新属性

模型

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

在控制器中将您设置ViewData["IsEnabled"]为 false/true 并返回查看。

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 回答