我有一个地址视图供用户输入他们的帐单和运费地址。所以在地址模型上我有:
public string AddressType { get; set; }
然后在创建帐户视图中,我有:
<div class="pure-control-group">
@Html.Action("Init", "Address", new {AddressType="Billing"})
</div>
<div class="pure-control-group">
@Html.Action("Init", "Address", new {AddressType="Shipping"})
</div>
在地址视图中,我有许多input
控件都按预期呈现,但我还有一个我想动态命名的国家下拉列表(我使用html帮助器的唯一控件):
@Html.DropDownListFor(m => m.SelectedCountryId, new SelectList(Model.ValidCountries, "CountryId", "CountryName", Model.SelectedCountryId), null, new {name=Model.AddressType + "_SelectedCountryId", id=Model.AddressType + "_SelectedCountryId"})
然而,当这呈现时,我最终得到:
<select id="Billing_SelectedCountryId" name="SelectedCountryId">
我想:
<select id="Billing_SelectedCountryId" name="Billing_SelectedCountryId">
我已经读过使用大写字母N for Name修复了这个问题,但正如其他人所说的那样,它只是添加了另一个属性:
<select id="Billing_SelectedCountryId" name="SelectedCountryId" Name="Billing_SelectedCountryId">
我读到的所有内容都有点令人困惑,如果有人找到了解决办法,我无法解决问题,无论如何都会解决这个问题吗?