ASP.NET MVC数据注释工具提示

use*_*479 6 asp.net-mvc data-annotations asp.net-mvc-3

当表单验证失败时,我被要求显示工具提示而不是纯文本.我们目前正在使用asp.net MVC 3数据注释验证器来显示验证错误消息.我仍然是MVC的新手,我花了几个小时在线寻找一个干净的解决方案.如果有人能指出我正确的方向,我一定会很感激.

谢谢

fir*_*ude 7

您可以指定要应用于控件的html属性.这是使用创建控件的HtmlHelper方法的第二个参数完成的.例如,在MVC 3中,如果你想要一个带有工具提示的文本框,当你将鼠标悬停在它上面时,请使用像这样的html title属性.

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

要在服务器端代码中使用控制器中的值,可以使用ViewBag(或MVC2中的ViewData).所以代码看起来像这样:

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

并且视图代码看起来像这样

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


Mat*_*ter 0

您已经完成了大部分工作,因为页面上已经显示了验证错误。您需要了解的是如何使用一些客户端脚本(javascript)才能将它们呈现为浏览器中的工具提示。

看看以下 JQuery 插件,它们可能就是您想要的: http: //jquery.bassistance.de/tooltip/demo/