首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MVC3 ::使用global.asax将特定控制器/动作定向到不同的控制器/动作

MVC3 ::使用global.asax将特定控制器/动作定向到不同的控制器/动作
EN

Stack Overflow用户
提问于 2012-05-04 00:31:45
回答 2查看 1.4K关注 0票数 1

在MVC3应用程序中,我的家庭控制器中有一个视图,可以通过以下网址访问该视图:

http://mysite.com/home/mycontent

但是,我的用户想要通过以下方式访问它:

http://mysite.com/mycontent (没有对家庭控制器的特定引用)

我已经尝试使用以下命令修改我的global.asax:

代码语言:javascript
运行
复制
    routes.MapRoute(
        "MyContent", // Route name
        "MyContent", // URL with parameters
        new { controller = "Home", action = "MyContent"} // Parameter defaults
    );

但是当我尝试使用它时,我得到了404个错误。有没有一种方法可以完成我的用户想要做的事情--将URL重定向到特定的控制器/视图对?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-04 00:41:28

我认为你应该保留一些“参数”:

代码语言:javascript
运行
复制
routes.MapRoute(
        "MyContent", // Route name
        "{action}/{id}", // URL with parameters
        new { controller = "Home", action = "MyContent", id = ""} // Parameter defaults
    );
票数 2
EN

Stack Overflow用户

发布于 2012-05-04 00:59:10

您的路线是按什么顺序注册的?该路由应位于您的默认路由之前。

例如。

代码语言:javascript
运行
复制
routes.MapRoute(
    "MyContent", // Route name
    "MyContent", // URL with parameters
    new { controller = "Home", action = "MyContent"} // Parameter defaults
);

routes.MapRoute(
    "Default", // Route name
    "{controller}/{action}/{id}", // URL with parameters
    new { controller = "Pages", action = "Index", id = UrlParameter.Optional }
);

否则,它应该可以工作...我已经定义了与此完全相同的路由。

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

https://stackoverflow.com/questions/10435567

复制
相关文章

相似问题

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