在ASP.NET MVC中,可以通过以下步骤将ViewModel中的列表从视图传递到控制器:
<form>
标签或者使用Html.BeginForm()
方法创建表单。@foreach
循环遍历ViewModel中的列表,并为每个列表项创建一个表单元素。例如,可以使用<input>
标签或者Html.TextBoxFor()
方法创建文本框。@Html.HiddenFor()
方法创建隐藏字段,将列表项的值传递到控制器。<input type="submit">
标签或者Html.SubmitButton()
方法创建提交按钮。[HttpPost]
特性标记动作方法,以确保只有在POST请求时才能访问该方法。以下是一个示例代码:
在视图中(例如,Index.cshtml):
@model YourViewModel
@using (Html.BeginForm("YourAction", "YourController", FormMethod.Post))
{
@foreach (var item in Model.YourList)
{
@Html.HiddenFor(modelItem => item.Id)
@Html.TextBoxFor(modelItem => item.Name)
}
<input type="submit" value="Submit">
}
在控制器中:
[HttpPost]
public ActionResult YourAction(YourViewModel viewModel)
{
// 在这里处理接收到的ViewModel数据
// 可以访问viewModel.YourList来获取列表数据
return RedirectToAction("Index");
}
请注意,以上示例中的代码仅供参考,具体实现可能会根据项目的需求和架构而有所不同。
领取专属 10元无门槛券
手把手带您无忧上云