我需要将多个数据(可能是 2 个 Html.DropDownList 的选定值)从 MVC 视图(.aspx)传递给 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') 有一些无效参数”。
希望现在它会清楚,仍然模棱两可,然后让我知道。
问候乌斯曼