使用ASP.NET MVC时,如何设置新页面/视图的URL

时间:2015-06-08 14:26:18

标签: c# asp.net asp.net-mvc asp.net-mvc-4

我刚刚开始使用/围绕MVC,但我仍然对定义每个视图的实际URL的位置感到困惑。到目前为止,我有2个控制器和2个视图。第一个控制器工作,并在URL http://localhost:60480/Example下创建正确的视图,但我甚至不确定它实际定义在示例页面上显示的视图的位置。如何定义第二页/视图的URL,以便“示例”上的超链接可以使用第二个控制器加载第二个视图?

基本上,我想在/ Example上创建一个超链接,它将带我到/ Example2或其他一些页面。任何有关MVC的建议/帮助将不胜感激!

谢谢,我知道我的术语可能有些偏差,所以不要害怕纠正我!

1 个答案:

答案 0 :(得分:3)

您在1 => 3rd element from original tuple 2 => 1st element from original tuple 3 => 1st from original/3rd from original 4 => output of power function 中有一个名为RouteConfig.cs的文件。这定义了url和controller / action之间的关系。

如果没有人改变这一点,它将如下所示:

App_Start

http://localhost/Example将匹配默认路由,将控制器设置为ExampleController。由于对URI没有任何操作,它将被设置为默认操作"索引"。

所以这将触及方法'索引'在控制器ExampleController.cs

要访问您的第二个控制器,只需将控制器名称(减去'控制器')放入网址:http://localhost/Example2将调用Index方法。要获得不同的方法/操作:http://localhost/Example2/ActionMethodOnController2

        routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }

然后会为您提供与action / method同名的视图。可以以不同的方式命名视图,但不建议这样做。

在默认路由中,它将返回基于Index.cshtml的视图

  

我想创建一个超链接

您可以使用public class Example2Controller : Controller { public ActionResult ActionMethodOnController2() { ... return View(); 为您构建链接,例如:

HtmlHelpers