sam*_*ack 4 c#-4.0 asp.net-mvc-3
我正在尝试设置我的模型,以便我可以使用它
@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)
Run Code Online (Sandbox Code Playgroud)
我发现你可以把[Display(Prompt="Enter title here")]我的模型放进去
但出于某种原因,它并没有出现在我看来.
在旁注.我确实尝试按照这篇文章的说明 Html5占位符与.NET MVC 3 Razor EditorFor扩展?
在这篇文章的最后,它说要更改〜/ 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; }
Run Code Online (Sandbox Code Playgroud)
显示下的提示="这将显示"是将要创建的水印.
然后你需要在〜/ Views/Shared下创建文件夹"EditorTemplates",整个路径将是〜/ Views/Shared/EditorTemplates /
然后创建文件String.cshtml并将以下代码放入其中
@Html.TextBox("",ViewData.TemplateInfo.FormattedModelValue, new { @class="text-box single-line", placeholder = ViewData.ModelMetadata.Watermark })
Run Code Online (Sandbox Code Playgroud)
更多详细信息可以在tugberk发布的链接中找到(SO问题和SO答案).
| 归档时间: |
|
| 查看次数: |
7181 次 |
| 最近记录: |