【发布时间】:2021-02-28 15:05:10
【问题描述】:
我正在为我的网站使用 ASP.NET MVC 3。
我创建了一个包含“上一个、下一个和保存”按钮的局部视图。我在我的母版页上调用这个局部视图。
我的要求是,无论 View 我是什么,我都必须能够通过将各自的 Model 数据传递给控制器操作来调用不同控制器中的不同 Save 方法。
示例
- 我有 4 步数据输入,每一步都有不同的控制器。
- 如果我在第 1 步并单击保存表单值应该转到
Step1Controller的操作方法, - 如果我在第 2 步,则发帖应致电
Step2Controller
类似这样的:
public ActionResult Save(GenericModel model)
{
//use reflection to find out model type
//call appropriate controller action with model
return RedirectToAction("Create", new { Controller = "Conference", Action = "Create" });
}
将为Master page 上的Save 按钮调用此保存方法。我怎样才能做到这一点?
【问题讨论】:
-
这听起来像是对控制器和模型概念的潜在误用。为什么单个视图访问多个控制器以获得具有相同模型的表单发布的结果?如果您只需要调用其他函数,请务必在同一个控制器中创建一个函数,但您需要重新评估您在此处尝试执行的操作。每个视图(或部分视图)都应该包装自己的表单并在提交时调用自己的控制器操作。
标签: asp.net-mvc-3 controller http-post