我正在將我的應用程序從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