Asp.net mvc ASP.NET MVC 2点替换为元素名称中的下划线

Asp.net mvc ASP.NET MVC 2点替换为元素名称中的下划线,asp.net-mvc,binding,Asp.net Mvc,Binding,ASP.NET MVC将元素名称中的2个点替换为下划线(即使ASP.NET MVC默认情况下会在名称属性中添加点!) 在ASP.NET MVC中将元素粘贴到表单上时,通常会执行以下操作: <%= Html.TextBoxFor(model => model.Contact.FirstName)%> 仍然会产生联系人名称 感谢您的帮助 <%= Html.DropDownList( "Contact.Title", new SelectList(Model

ASP.NET MVC将元素名称中的2个点替换为下划线(即使ASP.NET MVC默认情况下会在名称属性中添加点!)

在ASP.NET MVC中将元素粘贴到表单上时,通常会执行以下操作:

<%= Html.TextBoxFor(model => model.Contact.FirstName)%>
仍然会产生联系人名称

感谢您的帮助


<%= Html.DropDownList(
    "Contact.Title",
    new SelectList(Model.Titles, "Key", "Value"))%>
这将导致:

<select id="Contact_Title" name="Contact.Title">...
。。。

它只替换id中的点,因为它在xhtml中无效。

它将在name属性中包含点(有效),但在id属性中不包含点(无效)。所有的助手都是一样的。
<select id="Contact_Title" name="Contact_Title">...
<%= Html.DropDownList(
    "Contact_Title", 
    new SelectList(Model.Titles, "Key", "Value"),
    new { name = "Contact\\.Title" })%>
<select id="Contact_Title" name="Contact_Title">...
<select id="Contact_Title" name="Contact.Title">...
new { name = "MYNAME" }
<%= Html.DropDownList(
    "Contact.Title",
    new SelectList(Model.Titles, "Key", "Value"))%>
<select id="Contact_Title" name="Contact.Title">...