Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.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# DropDownList用于不设置选定值_C#_Asp.net Mvc_Asp.net Mvc 4_Html Helper_Html.dropdownlistfor - Fatal编程技术网

C# DropDownList用于不设置选定值

C# DropDownList用于不设置选定值,c#,asp.net-mvc,asp.net-mvc-4,html-helper,html.dropdownlistfor,C#,Asp.net Mvc,Asp.net Mvc 4,Html Helper,Html.dropdownlistfor,下面是我在MVC4.0中创建drownlist的代码。此外,我正在尝试设置一个选定的值 Dictionary<String,String> states = Model.State; var statesList = new SelectList(states, "Value", "Key", Model.SelectedState.ToUpper()); @Html.DropDownListFor(l => l.State, statesList, new { @id = "

下面是我在MVC4.0中创建drownlist的代码。此外,我正在尝试设置一个选定的值

Dictionary<String,String> states = Model.State;
var statesList = new SelectList(states, "Value", "Key", Model.SelectedState.ToUpper());
@Html.DropDownListFor(l => l.State, statesList, new { @id = "ddlStates" })
我可以看到我的
状态列表
中有一个选中的值,但下拉列表从不选择选中的值

Dictionary<String,String> states = Model.State;
var statesList = new SelectList(states, "Value", "Key", Model.SelectedState.ToUpper());
@Html.DropDownListFor(l => l.State, statesList, new { @id = "ddlStates" })
Dictionary states=Model.State;
var statesList=new SelectList(states,“Value”,“Key”,Model.SelectedState.ToUpper());
@DropDownListFor(l=>l.State,statesList,new{@id=“ddlStates”})
我的模型如下所示

public class ConsumerModel
{
    public Dictionary<string, string> State { get; set; }
    public String SelectedState { get; set; }
}
公共类ConsumerModel
{
公共字典状态{get;set;}
公共字符串SelectedState{get;set;}
}

的下拉列表根据模型设置所选值。因为您正在视图上设置列表,所以不需要state字段。将您的下拉列表更改为

@Html.DropDownListFor(l => l.SelectedState, statesList)
不能重写for帮助器上的id字段。并在控制器上设置SelectedState,它将在视图上设置。

我认为您需要:

@Html.DropDownListFor(l => l.SelectedState, statesList, new { @id = "ddlStates" })
第一个参数应该是保存模型中的值的属性。名单上没有。这就是传递给第二个参数的内容