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 に答える