0

我知道,有一种方法可用于根据路由图获取当前 URL 参数,

Url.RequestContext.RouteData.Values["id"]

但是我发现当我运行这个方法时返回 System.NullReferenceException,所以我签入了 Url.RequestContext.RouteData.Values 中的所有对象,它包含两个实例,即[Key:Controller, Value: Blog][key:action, Value:BlogCommit],然后我签入我的路线图配置文件立即,并认为这很好

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

什么是默认配置,我的代码有什么问题?

从 URL 看起来像:

http://www.example.com:1925/Blog/BlogPost/1

根本原因是什么?或者有什么办法可以查到吗?

4

1 回答 1

0

您好,希望对您有所帮助:

string getParameterIdValue = (string)this.RouteData.Values["id"];

其他选项:

string CurrentController = (string)this.RouteData.Values["controller"];
string CurrentAction = (string)this.RouteData.Values["action"];

在这里得到它: https ://forums.asp.net/t/1386372.aspx?Get+Route+Parameter+Value+in+Controller

于 2018-09-03T17:20:33.963 回答