2013-08-25 62 views
0

我在文本框中添加了一個提示模板。模板是工作的罰款在Firefox和Chrome,但它沒有顯示在IE10EditorTemplates無法使用IE10

Model屬性了:

[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

如果你不使用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插件來處理這個上有不支持的瀏覽器或版本。

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)