【发布时间】:2016-01-08 16:33:56
【问题描述】:
如果我的 MVC 控制器正在使用类似的东西,
public ActionResult Index()
{
return View();
}
public ActionResult Display()
{
return View();
}
当我运行这样的东西时,它似乎无法识别“显示”的动作,例如,假设我在 razor 中使用了动作链接,
@Html.ActionLink("Display", "Display")
无论出于何种原因,当单击 ActionLink 时,这都不会路由到我创建的新操作结果“显示”。这样做的正确方法是什么?我需要一个单独的控制器来执行这个新操作吗?
【问题讨论】:
-
您是否定义了任何自定义路由(例如在路由配置中)?
-
控制器名称是什么?
-
视图是和控制器同名的文件夹还是共享的?
-
假设您的控制器名为 HomeController,那么如果您创建一个名为 /View/Home/Display.cshtml 的视图,它应该可以工作。如果不是,那么您的 /App_Start/RouteConfig.cs 文件是什么样的?你修改了吗?另外,您确定您的视图 (Display.cshtml) 有效吗?如果有疑问,您可以尝试用您知道可行的非常简单的东西替换您当前的版本。
-
不,我使用默认路由。
标签: asp.net-mvc asp.net-mvc-routing actionresult