我正在构建一个内部页面,允许受信任的用户通过表单手动更改参数设置。此设置的输入是一个设置参数列表(大小未知),每个参数都有一个特定的值列表。然后,用户可以为所有参数或部分参数选择一个值。
我试图用我当前的 View 模型来说明这一点
public class SetupModel
{
public List<SetupParameter> Parameters { get; set; }
}
public class SetupParameter
{
public string ParameterName { get; set; }
// list with text=paramvalue, value=paramvalueid
public SelectList ParameterValueList { get; set; }
// id of the selected parametervalue if any
public int? SelectedParameterValueID { get; set; }
}
我目前为此渲染 View 的尝试:
<% using (Html.BeginForm("Update", "Parameters") {%>
...
<% foreach( var parameter in Model.Parameters ) { %>
<div><%: parameter.ParameterName %></div>
<div><%: Html.DropDownListFor(x => parameter.SelectedParameterValueID, parameter.ParameterValueList, "Please select") %></div>
<% } %>
...
我的问题是如何呈现允许我提交表单并将合理可理解的模型返回到我的表单操作的 View ,该模型将允许我获取所选参数值的列表。我不知道这里的最佳实践或技巧,所以我将不胜感激我得到的任何反馈:)
最佳答案
您可以尝试使用 FormCollection :
public ActionResult Submit(FormCollection formCollection)
{
//Iterate form collection to get fields
return View();
}
关于asp.net-mvc - ASP.NET MVC 表单处理未知数量的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4389214/