我在mvc中有以下下拉列表
<%= Html.DropDownListFor(c => c.Address.Id, new SelectList(Model.Addresses, "id", "Name", Model.Address.Id), "-- New Address --", new { @name = "[" + orderItemAddressCount + "].AddressId" })%>
Run Code Online (Sandbox Code Playgroud)
我正在尝试覆盖下拉列表中的名称值.
这是我得到的标记
<select id="Address_Id" name="Address.Id"><option value="">-- New Address --</option>
Run Code Online (Sandbox Code Playgroud)
这是我想要的标记
<select id="Address_Id" name="[0].AddressId"><option value="">-- New Address --</option>
Run Code Online (Sandbox Code Playgroud)
如何使用DropDownListFor声明名称值?
Dar*_*rov 11
您不能覆盖该DropDownListFor方法生成的名称.它是强类型的,名称基于您作为参数传递的lambda.如果要以您希望的方式覆盖生成的名称,则必须编写自己的扩展方法或使用非强类型DropDownList方法:
<%= Html.DropDownList(
"[0].AddressId",
new SelectList(Model.Addresses, "id", "Name", Model.Address.Id),
"-- New Address --")
%>
Run Code Online (Sandbox Code Playgroud)
但是你为什么要这样做呢?提交表单时,您不是绑定到同一个ViewModel吗?
| 归档时间: |
|
| 查看次数: |
10004 次 |
| 最近记录: |