【发布时间】:2012-04-08 22:22:11
【问题描述】:
我需要从 MVC 视图 (.aspx) 将多个数据(可能是 2 个 Html.DropDownList 的选定值)传递给 MVC 控制器操作方法。我认为它会以某种方式来自 Html.Hidden 形式,但如何?
我无法从 Html.DropDownList 中获取选定的值并将其作为 Html.Hidden("paramName", MvcStringSelectedValue) 传递给控制器的操作。
我的代码是:
based on<br />
<%: Html.DropDownList("Semester")%>
<%= Html.Hidden("strSemesterToBaseOn",returnedValueFromAbove)%>
<%: Html.ValidationSummary(true) %>
<input type="submit" value="Clone" />
<% } %>
<br/><br/>
“提交”的输入标签需要写2次还是只写一次?
编辑(额外代码)
控制器的动作方法:
[HttpPost]
public ActionResult CloneSemesterData(string strSemesterToOrganize, string strSemesterToBaseOn)
{
.............................................................
..............................
}
这里(另一个控制器的方法)是填满学期值的下拉列表
public ActionResult DepartmentAdministration()
{
// Get list of semesters
var lr = new ListRepository();
ViewData["Semester"] = new SelectList(lr.ListSemester(3)); //this ListSemester(3) will generate the list with 3 strings ( e.g "WS 2012", "SS2010")
return View();
}
我在 .aspx 文件中的查看代码是:
//当radioButton ="Clone"被选中时执行
<% using (Html.BeginForm("CloneSemesterData", "CourseNeededHours"))
{%>
<%= Html.DropDownList("Semester")%> // this is First drop down list box , from which selected value , I want to transfer as 1st parameter of controller's action method
<%: Html.ValidationSummary(true) %>
based On
<%= Html.DropDownList("Semester")%> //this is Second drop down list box, from which selected value, I want to transfer as 2nd parameter of controller's action method.
<input type="submit" value="Clone" />
<% } %>
错误:
现在,在使用 Edit 2 修复后:它在
下给出红线因为它无法识别 ViewData["SemesterList"]...
“System.Web.Mvc.HtmlHelper 不包含 'DropDownList' 的定义和重载的最佳扩展方法 'System.Web.Mvc.Html.SelectExtensions.DropDownList(System.Web.Mvc.HtmlHelper, string,System.Collections. Generic.IEnumerable') 有一些无效参数”。
希望现在它会清楚,仍然模棱两可,到时请告诉我。
问候 乌斯曼
【问题讨论】:
-
请发布您需要在单击提交后调用的控制器操作以及填充您的 DropDownLists 的控制器...这样我们可以看到并纠正您在做什么;)
标签: asp.net-mvc model-view-controller view drop-down-menu selectedvalue