C#MVC-检索表单帖子上的下拉列表选项值
我已经成功地在视图中实现了许多下拉列表,这些下拉列表正确地显示了数据库表中的数据。然而,当我提交表单并请求过滤数据时,我遇到了问题 在我的post方法中,我使用表单集合来收集提交时选择的数据。但是,当我访问数据时,它返回的是选择选项文本,而不是我想要的实际值。例如:C#MVC-检索表单帖子上的下拉列表选项值,c#,asp.net-mvc,forms,C#,Asp.net Mvc,Forms,我已经成功地在视图中实现了许多下拉列表,这些下拉列表正确地显示了数据库表中的数据。然而,当我提交表单并请求过滤数据时,我遇到了问题 在我的post方法中,我使用表单集合来收集提交时选择的数据。但是,当我访问数据时,它返回的是选择选项文本,而不是我想要的实际值。例如: <select class="form-control" id="SelectedValue" name="SelectedValue"> <option value="@item.itemValue
<select class="form-control" id="SelectedValue" name="SelectedValue">
<option value="@item.itemValue">@item.itemName</option>
</select>
string example = collection["SelectedValue"];
@item.itemName
字符串示例=集合[“SelectedValue”];
当我调试代码时,字符串示例将被分配item.itemName。如何返回item.itemValue
提前谢谢你的帮助 如果可能的话,我建议使用这种方法 视图:
@使用(Html.BeginForm(“,”))
{@Html.DropDownListFor(x=>x.modval,xxx.Models.selectclass.drop.GetDropval(“1”),null,新的{style=“color:black”,@class=“form control”})
}
模型
公共静态类液滴
{
公共静态IEnumerable GetDropval(对象选择值)
{
返回新列表
{
新建SelectListItem{Text=“Japan”,Value=“Japan”,Selected=“1”==selectedValue.ToString()},
新建SelectListItem{Text=“Jersey”,Value=“Jersey”,Selected=“2”==selectedValue.ToString()},
新建SelectListItem{Text=“哈萨克斯坦”,Value=“哈萨克斯坦”,Selected=“3”==selectedValue.ToString()},
新建SelectListItem{Text=“Russian Federation”,Value=“Russian Federation”,Selected=“4”==selectedValue.ToString(),
};
}
}
A
只回发所选选项的值,因此除非item.itemValue
的值与item.itemName
的值相同,否则您无法进行索赔。
@using (Html.BeginForm("", ""))
{ @Html.DropDownListFor(x=>x.modval,xxx.Models.selectclass.Dropl.GetDropval("1"), null, new { style = "color: black", @class = "form-control" })
<input type="submit" />
}
public static class Dropl
{
public static IEnumerable<SelectListItem> GetDropval(object selectedValue)
{
return new List<SelectListItem>
{
new SelectListItem{ Text="Japan", Value = "Japan", Selected = "1" == selectedValue.ToString()},
new SelectListItem{ Text="Jersey", Value = "Jersey", Selected = "2" == selectedValue.ToString()},
new SelectListItem{ Text="Kazakhstan", Value = "Kazakhstan", Selected = "3" == selectedValue.ToString()},
new SelectListItem{ Text="Russian Federation", Value = "Russian Federation", Selected = "4" == selectedValue.ToString()},
};
}
}