ASP.NET MVC 中的默认索引方法行为

发布于 2024-10-16 06:20:02 字数 579 浏览 1 评论 0原文

有以下 ActionMethod

我在 UserController public ActionResult Index(string id, string name, int? org)

当我导航到 > 时 http://example.com/User ,调用上述操作方法。那挺好的。

但是,当我导航到 > http://example.com/User/1 ,找不到资源。难道它不应该导航到上面的 id = 1 的操作方法,其余的为 null 吗?

Global.asax 中的路由:

context.MapRoute(   
    "Default",   
    "/{controller}/{action}/{id}",   
    new { action = "Index", id = UrlParameter.Optional }   
);

I have the following ActionMethod in UserController

public ActionResult Index(string id, string name, int? org)

When I navigate to > http://example.com/User , the above action method is invoked. Thats good.

However when I navigate to > http://example.com/User/1 , it can't find the resource. Shouldn't it navigate to the above action method with id = 1 and the rest as null ?

Routing in Global.asax:

context.MapRoute(   
    "Default",   
    "/{controller}/{action}/{id}",   
    new { action = "Index", id = UrlParameter.Optional }   
);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

谁的新欢旧爱 2024-10-23 06:20:02

您还必须将这些其他参数添加到您的路由中才能填充它们。

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

然后,您可以导航到 http://yourdomain/User/Index/1

因为名称和组织是可选的,您 时也可以传递这些

当您需要http://yourdomain/User/Index/1/fred

http://yourdomain/User/Index/1/fred/44

You will have to add those other parameters into your routing as well for them to ever get populated.

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

You can then navigate to http://yourdomain/User/Index/1

As name and org are optional you can also pass these in when you want

http://yourdomain/User/Index/1/fred

http://yourdomain/User/Index/1/fred/44

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文