MVC3显示来自.blur上的DataAnnotations属性的描述

问题描述:

mvc3 DataAnnotations具有Description属性:MVC3显示来自.blur上的DataAnnotations属性的描述

例如,

[Display (Name="Title", Description="description about the title")] 
public string Title { set; get}; 

在我看来,我想在.blur上使用jquery显示输入的描述文本。

<script type="text/javascript"> 
    $(function() { 
    $("#title").blur(function() { 
     ??? 
    }); 
}); 

@Html.LabelFor(model => model.Title) 
//description here, not sure how to map it. 
@Html.LabelFor()//description would go here 
@Html.TextBoxFor(model => model.Title) 
@Html.ValidationMessageFor(model => model.Title) 

THX!

我不认为加入说明会的标题标签添加到您的输入元素。您可能大概要提的是,当你创建一个这样

@Html.TextBoxFor(model => model.Title, new {@title="Your description"}) 

会为您的输入元素的标题标签的文本框和minus4提到的,你可以使用jQuery访问。

$(function() { 
    $("#Title").blur(function() { 
     alert($(this).attr("title")); 
    });   
}); 

你可能想使用一个通用的选择,而不是特定的选择(ID),像所有的输入元素的类名

编辑:基于对通用的选择和具体的评论选择器

ID对于每个元素都应该是唯一的,所以如果您有8个元素,那么(并且应该)是元素的8个唯一ID。在这种情况下,你需要通过ID这样

$("#Title,#Name,#City,#JobTitle,#SomeOther,#LastName,#Hi,#Ho").blur(function() { 
      alert($(this).attr("title")); 
    }); 

的功能结合到8名不同的项目,但如果你有被应用到所有这些因素共同类,你可以使用它像(以下将所述功能结合到具有CSS类值mySimpleClass

$(".mySimpleClass").blur(function() { 
      alert($(this).attr("title")); 
    }); 
所有元素

你可以使用其他选择器等子选择。(以下的代码的功能结合到类型文本的所有输入元件,其存在于divContainer div

$("#divcontainer input type[text]").blur(function() { 
      alert($(this).attr("title")); 
    }); 

的CSS类添加到您的输入元素,同时使用Html.TextBox的HTML帮助,您可以使用它像这样

@Html.TextBoxFor(model => model.Title, new {@title="Your description", @class="mySimpleClass"}) 
+0

THX,你是什么意思“,而不是使用特定选择器的通用选择(ID)”?我有8个文本框,我应该为每个文本框添加@title吗? – Ben 2012-04-17 22:44:08

+0

@Ben:查看我的更新回答 – Shyju 2012-04-17 22:52:14

+0

非常感谢您的解释。 – Ben 2012-04-17 22:54:46

我以前从来没有使用说明,但假设它增加可能是标题标签,那么你可以使用这个:

var desc = $(this).attr("title"); 
alert(desc);