【问题标题】:Route rewriting in asp.net mvcasp.net mvc中的路由重写
【发布时间】:2009-09-09 16:33:59
【问题描述】:

我很难理解路由。

请帮我解决这个问题。

我的每个控制器现在都有这三个动作

用户有索引、创建和编辑

位置具有索引、创建和编辑

公司有索引、创建和编辑

问题是,这一切都是通过 ajax 完成的。

我有 jquery ui 选项卡,每个选项卡有两个选项卡,创建和编辑 因此,Index 方法始终是为操作链接调用的方法。 在这个主视图中,您可以调用(通过单击选项卡图标)返回 ajax 视图的其他方法,该视图将输出到 jQuery 选项卡中(我希望这很清楚)

我有一个带有控制器链接的侧边栏。以及这些控制器的具体方法。想要的行为是它实际上应该进入索引方法,然后通过一些逻辑自动加载想要的选项卡。

现在一切正常。但我的网址很糟糕。 要获得用户的创建方法,我必须访问这个 url

http://localhost/Users/Index/1
http://localhost/Users/Index/2

我希望将这些链接的行为重新映射到这些链接

http://localhost/Users/Create
http://localhost/Users/Edit

因此,即使您似乎在调用控制器的 Create 方法,但实际上您总是在调用 Index 方法....(我知道如何将 Create 转换为“1”并将 Edit 转换为两个,所以不用担心那部分

希望这很清楚。

提前致谢

编辑:

刚刚意识到这可能是不可能的,因为当我真正需要调用方法(使用 ajax)时,它不知道该怎么做......我正确吗?

【问题讨论】:

    标签: asp.net-mvc routing


    【解决方案1】:

    在没有看到控制器动作的情况下,您应该能够添加类似这样的路由:

    routes.MapRoute("myroute","users/{option}",new {controller="Users",action="Index"});
    

    【讨论】:

    • 但是当我想调用真实方法(通过ajax)和带有选项参数的索引方法时,它如何知道如何区分??...这很难解释:S
    • 您能否发布您的控制器操作,那么也许我们会有更好的主意。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-19
    • 2014-04-23
    • 1970-01-01
    • 2011-11-11
    • 2017-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多