如何从MVC视图发送下拉列表选择值到控制器的变量ViewData
本文关键字:控制器 ViewData 变量 选择 下拉列表 MVC 视图 | 更新日期: 2023-09-27 18:02:50
我在我的应用程序中使用MVC4和Razor。我的控制器包含c#代码,视图包含cshtml代码。我的下拉列表是这样的
@Html.DropDownListFor(x => x.StateName, Model.StateList, "--Please Select--")
我想将列表的选定值设置为Controller中的ViewData组件。
您可以将选中的值存储在隐藏字段中,并在控制器中获取隐藏字段值,如…
。cshtm文件
<script language="javascript" type="text/javascript">
$(document).ready(function () {
// storing selected value to hidden field
$("#Selected").val($("#id").val());
$("#id").change(function () {
// every time dropdown changes the value will be storing in hidden field
$("#Selected").val($("#id").val());
});
)};
</script>
@Html.HiddenFor("Selected")
@Html.DropDownList("id", new SelectList(Model.StateList, "--Please Select--"))
控制器……
你可以读取隐藏字段值,如…
string str = base.Request["Selected"].ToString()
ajax调用的第二种方式。
<script language="javascript" type="text/javascript">
$(document).ready(function () {
// storing selected value to hidden field
$("#Selected").val($("#id").val());
$("#id").change(function () {
$.ajax({
url: "~/ ControllerName/ActionMethodName",
type: 'POST',
cache: false,
data: { Selected: $("# Selected").val() },
success: function (data) {
//
}
});
});
)};
</script>
控制器:
private string ActionMethodName (string Selected)
{
String value = Selected;
}