use*_*479 6 asp.net-mvc data-annotations asp.net-mvc-3
当表单验证失败时,我被要求显示工具提示而不是纯文本.我们目前正在使用asp.net MVC 3数据注释验证器来显示验证错误消息.我仍然是MVC的新手,我花了几个小时在线寻找一个干净的解决方案.如果有人能指出我正确的方向,我一定会很感激.
谢谢
您可以指定要应用于控件的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)
您已经完成了大部分工作,因为页面上已经显示了验证错误。您需要了解的是如何使用一些客户端脚本(javascript)才能将它们呈现为浏览器中的工具提示。
看看以下 JQuery 插件,它们可能就是您想要的: http: //jquery.bassistance.de/tooltip/demo/
| 归档时间: |
|
| 查看次数: |
10007 次 |
| 最近记录: |