【发布时间】:2011-09-27 19:53:52
【问题描述】:
【问题讨论】:
-
您能提供实际的错误输出和堆栈跟踪吗?否则,当应用程序抛出错误时,很难知道你在哪里以及你在做什么。
【问题讨论】:
您收到的错误表明 ASP.NET MVC 找到了两个具有相同名称的操作,并且无法选择使用哪个操作。
如果您的DinnersController.cs 中有两个索引操作:
public ActionResult Index() {
和:
public ActionResult Index(int? page) {
那么你应该删除第一个动作。因为第二个是第一个的“更新”版本。 第二个 Action 接受以下请求:
/晚餐
/Dinners?page=2
/晚餐/索引
/Dinners/Index?page=2
随着 RegisterRoutes 的变化,它还接受以下请求:
/Dinners/Page/2
你可以有两个同名的动作,提供一个用于保存(回发),你用[AcceptVerbs(HttpVerbs.Post)]或[HttpPost]装饰保存动作
【讨论】:
MVC 不支持在控制器中重载操作方法。在同一个控制器上不可能有两个具有不同方法签名的 Index() 动作。
为了使您正在测试的示例正常工作,您必须删除不接受任何参数的 Index() 操作,并将其替换为以可为空的 int 作为参数的操作。
【讨论】: