我在文本框中添加了一个提示模板。该模板在firefox和chrome上工作正常,但它没有出现在IE10上
型号属性:
[Display(Name = "Age*" , Prompt="Enter Number: ")]
public string Age { get; set; }
查看:
@Html.EditorFor(c => c.Age, new { @class = "form_txt" })
模板:
Views\Shared\EditorTemplates\String.chtml:
@Html.TextBox(string.Empty, ViewData.TemplateInfo.FormattedModelValue, new
{
@class = "form_item txt txt_gray box_gray_focus rounded_corner",
placeholder = ViewData.ModelMetadata.Watermark,
title = ViewData.ModelMetadata.Description
})
答案 0 :(得分:1)
Html.EditorFor
没有将htmlAttributes
对象作为参数的实现。您正在使用该方法的以下实现,这意味着您将class = "form_txt"
作为ViewData传递给EditorTemplate。
public static MvcHtmlString EditorFor<TModel, TValue>(
this HtmlHelper<TModel> html,
Expression<Func<TModel, TValue>> expression,
Object additionalViewData
)
您需要做的是在EditorTemplate中定义class
属性,并像这样使用Html.EditorFor
:
@Html.EditorFor(c => c.Age)
答案 1 :(得分:0)
如果您不使用EditorTemplate并在视图中使用TextBoxFor ...它是否适用于IE10?
@Html.TextBoxFor(x => x.Age, new
{
@class = "form_txt",
placeholder = "Here enter your Age",
title = "This is the title"
})
IE直到IE9没有实现占位符,但它looks like IE10 should support it。 由于占位符不是标签的替代品,它只是一个提示,不管怎样你都不应该依赖它们。
说,有一些jquery插件可以在不支持浏览器或版本的情况下处理这个问题。