首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改RouteConfig以显示长名称?

更改RouteConfig以显示长名称?
EN

Stack Overflow用户
提问于 2014-12-12 01:19:37
回答 3查看 487关注 0票数 0

有没有一种方法来编辑路由配置以获得长的丑陋名称?下面是来自VS2015的默认路由

**RouteConfig:**MVC 5模板

代码语言:javascript
复制
 public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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

需要澄清的更新:

像这样的东西

代码语言:javascript
复制
domain.com/blog/index.cshtml    // < -- I know this isn't correct

而不是这个

代码语言:javascript
复制
domain.com/blog
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-12-12 04:22:45

您不能这样做,因为您访问的资源不是Index.cshtml,而是“索引”操作。该操作返回一个ViewResult,它搜索要使用视图引擎呈现的页面。页面可以位于控制器目录、共享目录中,也可以是.cshtml、.vbhtml等。

代码语言:javascript
复制
Server Error in '/' Application.

The view 'Index' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Views/Home/Index.aspx
~/Views/Home/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
~/Views/Home/Index.cshtml
~/Views/Home/Index.vbhtml
~/Views/Shared/Index.cshtml
~/Views/Shared/Index.vbhtml
票数 1
EN

Stack Overflow用户

发布于 2014-12-12 04:49:44

在MVC中,如果要在路由中映射物理文件,则默认情况下mvc忽略路由part.so,您可以在路由中映射index.cshtml文件。

您可以这样编写代码:

公共静态空RegisterRoutes(RouteCollection路由){RouteCollection

代码语言:javascript
复制
    routes.MapRoute(
        name: "Default",
        url: "{controller}/Details.aspx",
        defaults: new { controller = "Blog", action = "Index", id = UrlParameter.Optional }
    );
}
票数 1
EN

Stack Overflow用户

发布于 2014-12-12 06:36:41

您必须遵循MVC URL模式,但是可以在URL中更改控制器名称和controller方法名。假设控制器名称为ILoveMyVeryBigNameController,控制器方法名为IsMyControolerMethodNameIsToUgly,域为: domain.com,然后在RouteConfig.cs中

// ILoveMyVeryBigNameController routes.MapRoute的路由映射(名称:"ILoveMyVeryBigName",url:"ILove/{action}/{ id }",默认值:新的{控制器= "ILoveMyVeryBigNameController",id= UrlParameter.Optional });

上述路径映射必须放在一般路径映射之前。

在控制器方法中,您将属性放置为: put (“ILove/Ugly/{id}”)公共ActionResult IsMyControolerMethodNameIsToUgly (string Id).

注意:我相信您使用的是MVC 5或更高版本的

谢谢

拉文伦

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27435390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档