MVC4输入字段占位符 [英] MVC4 input field placeholder

查看:97
本文介绍了MVC4输入字段占位符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

确实 MVC4 默认支持占位符生成的输入字段?我没有发现任何东西,所以我想实现我自己的无奈提示符=电子邮件不传递给 ViewData.ModelMetadata。水印同时产生的控制。为什么?

示范

 公共类LogOnModel
    {
        [需要]
        [显示(名字=电子邮件,提示=电子邮件)]
        [数据类型(DataType.EmailAddress)
        公共字符串电子邮件{获得;组; }    }@ Html.TextBoxFor(M = GT; m.Email,新{占位符= ViewData.ModelMetadata.Watermark})

我得到的html code其中占位符标签不具有任何文字

 <输入数据-VAL =真正的数据-VAL-正则表达式=请输入一个有效的电子邮件地址的数据-VAL-所需=电子邮件领域是必须的。 ID =电子邮件NAME =电子邮件占位符=类型=文本VALUE =级=有效>


解决方案

要使用插件的方法是使用一个编辑器模板。你需要做的是创造模板文件共享\\ EditorTemplates 文件夹,并将其命名为 String.cshtml 。然后把这个那个文件:

  @ Html.TextBox(,ViewData.TemplateInfo.FormattedModelValue,
    新{占位符= ViewData.ModelMetadata.Watermark})

然后在你认为像这样使用它:

  @ Html.EditorFor(M = GT; Model.UnitPercent)

缺点,这个工程的类型的属性字符串,你将不得不为每个模板键入要用于水印支持。

Does MVC4 by default support placeholders for generated input fields? I didn't found anything so I am trying to implement my own but unfortunately Prompt = "E-Mail" is not passed to ViewData.ModelMetadata.Watermark while generating control. Why?

Model

 public class LogOnModel
    {
        [Required]
        [Display(Name = "E-Mail", Prompt = "E-Mail")]
        [DataType(DataType.EmailAddress)]
        public string Email { get; set; }

    }

@Html.TextBoxFor(m => m.Email, new { placeholder = ViewData.ModelMetadata.Watermark })

I get html code where placeholder tag do not has any text

<input data-val="true" data-val-regex="Please enter a valid e-mail address" data-val-required="The E-Mail field is required." id="Email" name="Email" placeholder="" type="text" value="" class="valid">

解决方案

An alternative to using a plugin is using an editor template. What you need to do is to create a template file in Shared\EditorTemplates folder and call it String.cshtml. Then put this in that file:

@Html.TextBox("",ViewData.TemplateInfo.FormattedModelValue, 
    new { placeholder = ViewData.ModelMetadata.Watermark })

Then use it in your view like this:

@Html.EditorFor(m=>Model.UnitPercent)

The downside, this works for properties of type string, and you will have to create a template for each type that you want support for a watermark.

这篇关于MVC4输入字段占位符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆