簡體   English   中英

更改@ Html.EditorFor的類/自定義模板| ASP .NET MVC 4

[英]Change class of @Html.EditorFor / customize template | ASP .NET MVC 4

我想更改@ Html.EditorFor字段的類/樣式。 我讀了一些有關自定義模板的內容,但是我的項目中沒有模板文件夾(Views / Shared / ONLY_FILES_HERE)。 不幸的是,我使用MVC 5.1。

此外,我希望使用TextBoxFor,因為inputvalidation的。

我該如何實現?

這是我的模型的一個片段:

public class CreateTableColumnModels
{
    [RegularExpression(@"^[A-Za-z0-9]+$", ErrorMessage = "Use letters and numbers only please")]
    [Display(Name = "Name")]
    public string Name { get; set; }

我嘗試了這個:

@model QlikViewStammdaten.Models.CreateTableColumnModels
<div>
    @Html.EditorFor(x => Model.Name, new { @class = "form-control" })
</div>

正如評論中已經提到的,最好將類添加到Html.TextBoxFor而不是@Html.EditorFor 為什么? 因為@Html.EditorFor呈現一個模板,並且該模板可能包含多個控件(現在要將類添加到其中的哪個控件中?)...請參閱將類添加到EditorFor

如果要數字類型,則添加@type = "number"

@Html.TextBoxFor(m => m.Name, new { @class = "form-control", @type = "number"  }) 

注意:不是x => Model.Name而是m => m.Name

我確定您已經知道這一點,但是[Display(Name = "Name")]在您的模型中是多余的,因為默認顯示名稱是變量名稱本身。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM