我正在尝试设置我的模型,以便我可以使用@Html.EditorFor(e => e.publicationTitle)
并让它显示带有提示的水印。
目前我正在做
@Html.LabelFor(e => e.PublicationTitle) @Html.TextBox("PublicationTitle",tempTitle.ToString(), new { style = "width:350px", placeholder = "Put title here" })
@Html.ValidationMessageFor(e => e.PublicationTitle)
我发现你可以放一个[Display(Prompt="Enter title here")]
在我的模型中
但由于某种原因它没有出现在我的视野中。
附带说明一下。我确实尝试按照这篇文章中的说明进行操作Html5 占位符与 .NET MVC 3 Razor 编辑器用于扩展?
在这篇文章的末尾,它说要更改 ~/Views/Shared/EditorTemplates/String.cshtml 文件,但该文件不在我的项目中。
任何提示将不胜感激。先感谢您。
跟进!
MVC3 的乐趣啊。显然,一旦您了解发生了什么,上面的帖子就回答了问题。如果您在 ~/Views/Shared/ 文件夹中创建 EditorTemplates/String.cshtml 文件,那么它将将此模板用于您的 editfor 框。
最终答案将在下面发布,以供其他人查看。
在您的控制器中,您需要执行以下操作
[Display(Prompt="First Name Goes Here",Name="First Name")]
[StringLength(100,ErrorMessage="First Name may not be longer than 100 characters")]
public string AuthFirstName { get; set; }
display 下的 Prompt="This is what will display" 就是将要创建的水印。
然后,您需要在 ~/Views/Shared 下创建文件夹“EditorTemplates”,整个路径将为 ~/Views/Shared/EditorTemplates/
然后创建文件String.cshtml并在其中放置以下代码
@Html.TextBox("",ViewData.TemplateInfo.FormattedModelValue, new { @class="text-box single-line", placeholder = ViewData.ModelMetadata.Watermark })
更详细的信息可以在 tugberk 发布的链接中找到(所以问题 and 所以答案).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)