@Html.EditorFor(model => model.User_Name, new { htmlAttributes = new { @class = "form-control", id = "txtFullNameRealtor", @Name = "txtFullNameRealtor", placeholder = "Full Name" } })
我在html源代码中得到了这个
<input Name="txtFullNameRealtor" class="form-control text-box single-line" id="txtFullNameRealtor" name="User_Name" placeholder="Full Name" type="text" value="" />
正如您所看到的,生成了两个名称属性Name="txtFullNameRealtor"
和name="User_Name"
。
有没有办法让它生成单个名称属性?
我希望我可以明确地设置Name属性。
答案 0 :(得分:0)
你可以试试这个
@ Html.EditorFor创建与属性名称相同的名称。
如果您想要特定名称,可以使用@Html.Editor
代替@html.EditorFor
。我希望这有帮助
@Html.Editor("txtFullNameRealtor" er_Name, new { htmlAttributes = new { @class = "form-control", id = "txtFullNameRealtor", placeholder = "Full Name" } }
答案 1 :(得分:0)
您可以通过以下方式实现这一目标:
@Html.TextBox("txtFullNameRealtor", Model.User_Name, new { @class = "a-class-name" })
因为看起来你想要一个文本框,你可以使用文本框帮助器。第一个参数是从哪里派生名称/ id,第二个参数是值,第三个是htmlAttribtues。还有更多的重载。
答案 2 :(得分:0)
用户Html.Editor()
而不是Html.EditorFor()
EditorFor将从“绑定”它的model属性推断出html元素名称。
编辑器允许您使用最后一个参数声明您想要的任何html名称。
public static MvcHtmlString Editor(
this HtmlHelper html,
string expression,
string templateName,
string htmlFieldName
听起来您将域模型直接绑定到UI。我建议创建一个包含所需属性名称的viewmodel,并在控制器中的视图模型和域模型之间进行转换。