【发布时间】:2011-03-04 18:03:26
【问题描述】:
我正在使用 JQGrid 插件创建一个带有表的 MVC 项目。我想使用 DropDownList 允许用户指定一个值,该值将在 SQL 查询中用于从表中检索特定数据。 IE。用户可以从列表中选择一个国家,表格将只显示来自该国家的项目。
我的问题是,我无法弄清楚如何从 DropDownList 中检索所选项目,在我的表的数据绑定函数中,在我的控制器类中。
视图中的DropDownList
<%= Html.DropDownList("Countries")%>
在我的控制器中设置下拉列表
//dt is a DataTable which holds the values for my list
List<SelectListItem> countries = new List<SelectListItem>();
for (int i = 0; i < dt.Rows.Count; i++)
countries.Add(new SelectListItem { Text = dt.Rows[i][0].ToString(), Value = "" + i });
我想访问所选值的 JsonResult DataBind() 方法
public JsonResult Charges_DataRequested()
{
string country = "Dropdownbox Selected Text";
}
问题似乎是在 JsonResult 函数中我无权访问 ViewData 或我的 ViewModel,当我尝试访问它们时它们似乎总是为空。我是 MVC 和 Web 开发的新手,非常欢迎任何建议。
【问题讨论】:
-
ViewModel 未绑定,因为未发生提交。如果你想这样做,你将不得不自己解析页面字段,并将结果数据传递给
Charges_DataRequested()。 -
我正在使用 JQGrid 插件,它在网格绑定数据时调用此方法(我假设在他们的脚本中的某处)。我无权访问它,因此我无法将自己的值传递给 Charges_DataRequested() 函数。
-
所以您需要访问网格之外的数据?我认为你需要为此做一个整页的帖子。
-
我需要一种在我的控制器的 jsonresult 函数中从视图访问数据的方法。我的下拉列表位于与网格分开的表单上。我希望能够调用“public JsonResult Charges_DataRequested(FormsCollection collection)”并获取数据。但这似乎只适用于 actionresult 函数,而不是 jsonresult。
标签: c# .net asp.net asp.net-mvc drop-down-menu