Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从MVC3中的DropDownList获取值。。比将ID绑定到另一个字段更好的方法?_C#_Asp.net Mvc_Asp.net Mvc 3 - Fatal编程技术网

C# 从MVC3中的DropDownList获取值。。比将ID绑定到另一个字段更好的方法?

C# 从MVC3中的DropDownList获取值。。比将ID绑定到另一个字段更好的方法?,c#,asp.net-mvc,asp.net-mvc-3,C#,Asp.net Mvc,Asp.net Mvc 3,我想知道是否有其他方式来表达下面的代码位。代码按预期工作,但我对它如何定义命名约定有一个问题 //Model.cs: [DisplayName("Device Manufacturer")] public List<KeyValuePair<int, string>> DeviceManufacturer { get; set; } public int SelectedManufacturerID { get; set; } //Model.ascx: <%=

我想知道是否有其他方式来表达下面的代码位。代码按预期工作,但我对它如何定义命名约定有一个问题

//Model.cs:
[DisplayName("Device Manufacturer")]
public List<KeyValuePair<int, string>> DeviceManufacturer { get; set; }
public int SelectedManufacturerID { get; set; }

//Model.ascx:
<%= Html.DropDownListFor(model => model.SelectedManufacturerID, new SelectList(Model.DeviceManufacturer, "Key", "Value"))%>
然而,我不满意的是,MVC给我的选择列表提供了ID“SelectedManufacturerID”,而它不是一个ID字段——它是一个选择列表。显然,这是为了支持绑定到SelectedManufacturerID字段

如果我希望使用我的选择列表客户端,我现在有如下代码:

$('#SelectedManufacturerID').change(function(){
    console.log("OnSelectedIndexChanged!");
});

这个jQuery非常不清楚。没有迹象表明SelectedManufacturerID是select DOM元素。使用本文顶部的MVC约定似乎不可能有合适的命名约定。还有其他人有这种感觉吗?我还有其他选择吗?

使用
SelectedManufacturerID

使用
SelectedManufacturerID

如果需要,可以使用不同的
DropDownListFor
助手方法更新下拉列表的ID或其他html属性。在这里,您可以将html属性作为最后一个参数传递

<%= Html.DropDownListFor(model => model.SelectedManufacturerID,
             new SelectList(Model.DeviceManufacturer, "Key", "Value"),
                                          new { @id="ManufacturerList"})%>
model.SelectedManufacturerID,
新的选择列表(Model.DeviceManufacturer,“键”、“值”),
新的{@id=“ManufacturerList”})%%>

如果需要,可以使用不同的
DropDownListFor
helper方法更新下拉列表的ID或其他html属性。在这里,您可以将html属性作为最后一个参数传递

<%= Html.DropDownListFor(model => model.SelectedManufacturerID,
             new SelectList(Model.DeviceManufacturer, "Key", "Value"),
                                          new { @id="ManufacturerList"})%>
model.SelectedManufacturerID,
新的选择列表(Model.DeviceManufacturer,“键”、“值”),
新的{@id=“ManufacturerList”})%%>

我不认为这是一个真正的问题,您可以将列表重命名为
DeviceManufacturerList
而不是
DeviceManufacturer
,选择的值为
DeviceManufacturer
而不是
SelectedManufacturerID
我不觉得这是一个真正的问题,您可以将列表重命名为
DeviceManufacturerList
而不是
DeviceManufacturer
,并将所选值重命名为
DeviceManufacturer
而不是
SelectedManufacturerID