- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我有以下 MapRoute:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
我可以有一个像这样的 url:
blabla.com/Home/Index/123
但是我需要创建什么样的 MapRoute 才能做到这一点:
blabla.com/Home/123
还是 blabla.com/Home/DEADBEEF
?
我想它涉及到一些类似的东西“{controller}/{id}/{action}”
action和id颠倒了,也许应该有一个默认的action。但是 MapRoute 如何知道应该像这样对待哪个 Controller 呢?
最佳答案
您可能需要这些方面的东西。
routes.MapRoute(
name: "DefaultRoute",
url: "Home/{action}",
defaults: new { controller = "Home", action = "Index" },
constraints: new { action = "[A-Za-z]*" }
);
或不采取行动
routes.MapRoute(
name: "DefaultRoute",
url: "Home/{id}",
defaults: new { controller = "Home", action = "Index", id = "" },
constraints: new { id = "[A-Za-z]*" }
);
您需要确保路由名称不同于您设置的任何其他路由,并注意路由的顺序,因为其他相似的路由可以相互覆盖。在这种情况下,请确保您可能希望在默认路由之前使用它,但请注意它会覆盖它。
至于没有 Controller 甚至 Action 你可以设置默认值并且在路由中不需要它们。
至于约束,您可以简单地将约束参数添加到路由中,为某个属性设置正则表达式,如上所示。
编辑:如果需要,这里有一些有用的链接,可提供有关路由的更多信息。
关于c# - MVC3 maproute 没有显示 Action ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14356383/
我需要进行以下 C# MVC 调用,例如: /SomeController/ActionOne/1/2/3 /SomeController/ActionTwo/1/2/astring 这是我的路线图:
我正在尝试创建看起来有点像这样的 URI:http://hostname/mobile/en/controller/action 用于移动设备或 http://hostname/en/controll
路由配置: public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) {
我怎样才能改变我的 map 路线,这样我就可以有另一个目录,而不仅仅是 Controller 和 Action 。 我想要的是在 Controller 之前有另一个目录,这样我就可以将每个“模块”的
我是 MVC 的新手,正在编辑现有的应用程序。目前我在 RouteConfig.cs 中看到以下内容: public class RouteConfig { public static voi
为什么使用“MapRoute”作为“Default”路由,而使用“MapHttpRoute”作为“DefaultApi”路由? routes.MapHttpRoute( name: "Defaul
如果我有以下 MapRoute: routes.MapRoute( "Default", // Rou
如果我有以下 MapRoute: routes.MapRoute( "Default", // Rou
我有一个参数,我想将其用作 URL 的默认结尾,但它目前是一个参数。我希望它始终指向家庭 Controller 和索引操作,但“/”变成了 pageName 参数。 比如我要 http://local
我的网络应用程序中有一个名为“管理”的区域。 所以,http://localhost.com/Admin转到管理区域中的家庭 Controller 和索引操作。 但是,我希望能够使用以下 Url 访问
有人可以告诉我如何使用 MapRoute 方法吗?我试过创建自己的路线,但没有用。我想要完成的是将“http://servername/home/default.aspx”路由到 Controller
我有这个 Controller : public class ProfileController : Controller { public ActionResult Index( long?
ASP.NET MVC 的 MapRoute 方法有一个名为 namespaces 的参数。 .从代码看,我看到这个参数保存在Route中对象在 DataTokens["Namespaces"] .
MapPageRoute 是否仅用于 WebForms 而 MapRoute for MVC? 或者这些都适用于 WebForms 和 MVC? 谢谢 最佳答案 MapPageRoute可以在将路由映
我在 RouteConfig 中有 3 条路由: routes.MapRoute( name: "ByGroupName", url: "catalog/{categoryname}/
我正在尝试将 URL 从 C# 的 Pascal 格式重写为 SEO 友好格式。 例如,我希望像 /User/Home/MyJumbledPageName 这样的东西看起来像这样: /user/hom
我将如何创建一个接受斜杠而不将其视为新参数的 MapRoute? 如果网址是 http://localhost/root/p1/default.aspx 我想要一个参数来获取 localhost (r
我是 MVC 的新手,所以请耐心等待,因为我只在 MS Tutorial 的第二页上。 (见最后一个代码示例)。对于 HelloWorldController,添加了以下 MapRoute: rout
这两段代码是一样的吗? RouteValueDictionary dic=new RouteValueDictionary(); dic.Add("controller", "Home"); dic.
由于WebApi路由映射可以通过MapHttpRoute来完成: myConfig.Routes.MapHttpRoute( name: "Defaul
我是一名优秀的程序员,十分优秀!