DropDownListFor

时间:2015-05-15 09:57:33

标签: asp.net-mvc-5 html-helper

我有一个地址视图供用户输入他们的帐单和运费地址。所以在地址模型上我有:

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">

我读到的所有内容都有点令人困惑,如果有人找到了解决办法,我无法解决问题,无论如何都会解决这个问题吗?

0 个答案:

没有答案