我正在将我的应用程序从MVC3(aspx)迁移到MVC5(剃须刀)。我想输入的名字从Client.FirstName更改为姓,使用:TwitterBootstrapMVC更改输入名称
@(Html.Bootstrap().TextBoxFor(m => m.Client.FirstName).Data(new {@name = "FirstName"})
.Id("FirstName"))
我得到:
<input name="Client.FirstName" class="form-control" id="FirstName" type="text" value="" data-name="FirstName">
我用MVC3以下帮助:
public static string ExTextBox (this HtmlHelper helper, string name, object value, bool readOnly, string Label)
{
string HTML = "";
//if (readOnly) HTML = String.Format("<label for='{0}'>{1}</label>", name, value);
if (readOnly)
HTML = value != null ? value.ToString() : "";
else
HTML = System.Web.Mvc.Html.InputExtensions.TextBox(helper, name, value).ToString() + System.Web.Mvc.Html.ValidationExtensions.ValidationMessage(helper, name, "*");
HTML = AddCellsAndLabel(HTML, name, Label);
return HTML;
}
在查看:
<%= Html.ExTextBox("FirstName", Html.Encode(Model.Client.FirstName), Model.IsReadOnly, null)%>
I试图Razor视图如下:
@Html.ExTextBox("FirstName", Html.Encode(Model.Client.FirstName), Model.IsReadOnly, null)
我得到以下(表明):
<input id="FirstName" name="FirstName" type="text" value="" /><span class="field-validation-valid" data-valmsg-for="FirstName" data-valmsg-replace="false">*</span>
因为我没有遇到找出如何解决帮手;我试图使用twitterBootstrapMVC。
我希望你的建议。
你为什么要做到这一点 - 它不再绑定到你的模型 - 这就是为什么你不能覆盖的name属性。 – 2014-10-29 05:13:09
Hav eyou为此使用了[DisplayName(“FirstName”)]属性? – Rahul 2014-10-29 05:15:20
@Ratatouille,这与设置输入的名称属性无关。 – 2014-10-29 05:16:55