2013-02-08 81 views
2

我想在用戶單擊按鈕時禁用按鈕。我能做到,但我認爲我的方式不好。 我的方式:用戶在mvc上單擊時禁用提交按鈕

我將ViewBag.IsSaveButtonDisabled設置爲true並通過javascript檢查這個容器div,然後我禁用了保存按鈕。我知道,這是不好的解決方案。我想在服務器端控制提交按鈕的禁用屬性。

它的最佳實踐是什麼?

回答

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/> 
3

設置你的ViewData["IsEnabled"]在控制器中爲false/true並返回查看。

public ActionResult Index() 
{ 
    ViewData["IsEnabled"]=false; 
    return View(); 
} 

在您使用jQuery,使用此ViewData["IsEnabled"]禁用按鈕

$(function(){ 
    if([email protected]["IsEnabled"]){ 
     $('#btnSubmit').attr('disabled','disabled'); 
    } 
}); 
+0

哦,我沒有注意到,而我也再晚發佈了一個解決這個 – 2013-02-08 13:37:56

+1

答案被接受:) – 2013-02-08 13:44:03

+0

@AliRızaAdıyahşi哈哈是的 – 2013-02-08 13:46:13