所以我的View
包含2个models
。每个model
都有自己的表单和提交按钮。
目前,我有两个提交按钮都由相同的controller
方法处理,并使用reflection
来确定传递的模型类型。但似乎会有更好的方法......任何想法?
我有这样的事情:
型号:
public class Model1
{
// Elements
}
public class Model2
{
// Elements
}
控制器:
public ViewResult ConMeth(Object model)
{
Type t = model.GetType();
if(t == typeof(Model1)
{
// Do work for Model1
}
else if(t == typeof(Model2)
{
// Do work for Model2
}
else
{
// Do something else...
}
}
答案 0 :(得分:1)
如果您显示查看信息,我怀疑您在视图中发生了两个单独的事情。只需将每个东西放在自己的形式中并使用
@using (Html.BeginForm(...)){}
并在BeginForm参数中指定名称和控制器(如果需要)的动作......这应该摆脱模棱两可的参考错误
Here是一个使用较旧(不是剃刀)标签的示例
答案 1 :(得分:0)
你可以使用元组<>在您的视图中有两个视图模型,然后在每个表单的@ Html.BeginForm()帮助器方法中,您可以指定POST到两个不同的控制器来处理您的表单数据。
@model Tuple<ProjectName.Models.Model1, ProjectName.Models.Model2>