在ASP.NET MVC中,您可以为BeginForm
方法分配不同的模型。以下是一种解决方法的示例代码:
首先,创建一个视图模型类,其中包含您想要在表单中使用的属性。例如,假设您有两个模型类:Model1
和Model2
。您可以创建一个名为ViewModel
的类,它包含这两个模型类的属性:
public class ViewModel
{
public Model1 Model1 { get; set; }
public Model2 Model2 { get; set; }
}
然后,您可以在视图中使用ViewModel
类:
@model ViewModel
@using (Html.BeginForm("ActionName", "ControllerName", FormMethod.Post))
{
// 在表单中使用 Model1 的属性
@Html.TextBoxFor(m => m.Model1.Property1)
@Html.TextBoxFor(m => m.Model1.Property2)
// 在表单中使用 Model2 的属性
@Html.TextBoxFor(m => m.Model2.Property1)
@Html.TextBoxFor(m => m.Model2.Property2)
}
在控制器中,您可以接收ViewModel
作为参数,并根据需要使用其中的模型属性:
[HttpPost]
public ActionResult ActionName(ViewModel viewModel)
{
// 使用 viewModel.Model1 和 viewModel.Model2 中的属性进行处理
return View();
}
这样,您就可以在BeginForm
中传递不同的模型,并在控制器中接收和使用这些模型属性。