Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 获取url,但不包含调用该url的方法的名称_Asp.net_.net_Asp.net Mvc - Fatal编程技术网

Asp.net 获取url,但不包含调用该url的方法的名称

Asp.net 获取url,但不包含调用该url的方法的名称,asp.net,.net,asp.net-mvc,Asp.net,.net,Asp.net Mvc,我正在尝试获取网站的url加上当前控制器,而不使用调用它的方法 在ExampleController中,ExampleMethod Request.Url.ToString() => 我需要 我将使用的解决方案是解析并删除最后一个斜杠之后的所有内容,但我不确定是否已经有了使用服务器信息执行此操作的方法。您的问题可以通过使用Url.Action HTML helper重载来解决。要生成示例URL,请执行以下操作: 您需要执行以下操作: @Url.Action("ExampleControlle

我正在尝试获取网站的url加上当前控制器,而不使用调用它的方法

在ExampleController中,ExampleMethod Request.Url.ToString()

=>

我需要


我将使用的解决方案是解析并删除最后一个斜杠之后的所有内容,但我不确定是否已经有了使用服务器信息执行此操作的方法。

您的问题可以通过使用Url.Action HTML helper重载来解决。要生成示例URL,请执行以下操作:

您需要执行以下操作:

@Url.Action("ExampleController", "Index", null, Request.Url.Scheme)
假设您使用的是默认的ASP.NET MVC路由配置

更详细地说,如果您提供给帮助者的操作在routeconfig中设置为默认操作,则不会在结果URL中指定该操作

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

查看action=“Index”默认值?无论您设置了什么,都是生成URL时必须使用的内容。

您的问题可以通过使用URL.Action HTML helper重载之一来解决。要生成示例URL,请执行以下操作:

您需要执行以下操作:

@Url.Action("ExampleController", "Index", null, Request.Url.Scheme)
假设您使用的是默认的ASP.NET MVC路由配置

更详细地说,如果您提供给帮助者的操作在routeconfig中设置为默认操作,则不会在结果URL中指定该操作

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

查看action=“Index”默认值?无论您设置了什么,都是生成URL时必须使用的内容。

为了让您开始,如果您可以访问URL帮助程序,我将查看
RouteData
而不是将URL视为字符串。需要生成通过电子邮件发送的字符串。您可以使用
RouteData
查找控制器,操作,id和您在路线规则中定义的任何其他内容。然后,您可以以您想要的任何形式重新创建字符串。当然,如果您不担心路由中的额外数据、查询字符串、url哈希代码等,您可以按照建议剥离最后一部分。只是为了让您开始,如果您可以访问Url帮助程序,我将查看
RouteData
,而不是将Url视为字符串。需要生成通过电子邮件发送的字符串。您可以使用
RouteData
查找控制器、操作、id以及您在路由规则中定义的任何其他内容。然后,您可以以您想要的任何形式重新创建字符串。当然,如果您不担心路由中的额外数据、查询字符串、url哈希代码等,您可以按照建议剥离最后一部分。只是为了让您开始,如果您可以访问Url帮助程序,我将查看
RouteData
,而不是将Url视为字符串。需要生成通过电子邮件发送的字符串。您可以使用
RouteData
查找控制器、操作、id以及您在路由规则中定义的任何其他内容。然后,您可以以您想要的任何形式重新创建字符串。当然,如果您不担心路由、查询字符串、url哈希代码等中的额外数据,您可以按照建议剥离最后一部分获取您请求的当前控制器名称。根据@br4d的第一条注释,您可以使用:
string controllerName=this.ControllerContext.RouteData.Values[“controller”].ToString()
获取您请求的当前控制器名称。根据@br4d的第一条注释,您可以使用:
string controllerName=this.ControllerContext.RouteData.Values[“controller”].ToString()
以按请求获取当前控制器名称。