2011-02-06 83 views
6

我被要求在表單驗證失敗時顯示工具提示而不是純文本。我們目前使用asp.net MVC 3數據註釋驗證器來顯示驗證錯誤消息。我對MVC還是比較新的,我花了幾個小時在線尋找一個乾淨的解決方案。如果有人能指引我正確的方向,我一定會很感激。ASP.NET MVC數據註釋工具提示

THX

回答

7

您可以指定HTML屬性要申請到你的控制。這是使用創建控件的HtmlHelper方法的第二個參數完成的。例如,在MVC 3中,如果您希望將鼠標懸停在其上的工具提示帶有文本框,請使用像這樣的html標題屬性。

@Html.TextBoxFor(model => model.Name, new { @class = "form", @title= "Your name as you would like it to appear in the notification email" }) 

要從服務器端代碼可以使用ViewBag(或ViewData的在MVC2)控制器使用的值。因此,代碼會是這個樣子:

[HttpPost] 
public void Form(Model m) 
{ 
    if(m.Name.Length==0) 
     ViewBag.NameError = "Please enter your name"; 
} 

和視圖代碼看起來像這樣

@Html.TextBoxFor(model => model.Name, new { @class = "form", @title= (ViewBag.NameError==null?string.empty:(string)ViewBag.NameError)})