Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.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
C# 获取不带操作方法名称和查询字符串的url_C#_Asp.net Mvc 4 - Fatal编程技术网

C# 获取不带操作方法名称和查询字符串的url

C# 获取不带操作方法名称和查询字符串的url,c#,asp.net-mvc-4,C#,Asp.net Mvc 4,我有一个url,如下所示: 我只想提取不带操作方法名称和查询字符串的url 所需输出为: 我在寻找相关答案时想到的答案: 首先获取操作名称,并将路径中的操作名称替换为空 string actionName = this.ControllerContext.RouteData.Values["action"].ToString(); string path = Request.Url.GetLeftPart(UriPartial.Path).Replace(actionName, Strin

我有一个url,如下所示:

我只想提取不带操作方法名称和查询字符串的url

所需输出为:

我在寻找相关答案时想到的答案:

首先获取操作名称,并将路径中的操作名称替换为空

 string actionName = this.ControllerContext.RouteData.Values["action"].ToString();
 string path = Request.Url.GetLeftPart(UriPartial.Path).Replace(actionName, String.Empty);

我没有抄这个答案。我还搜索如何从当前请求中获取操作名称值

这是您所需要的。post在不使用查询字符串的情况下提取url。但是我希望url不带action方法和querystring。url中不应包含操作方法。是否有任何一行代码用于此?我将添加它作为回答。我正在布局页面上进行此更改。ControllerContext将不存在于布局上,是否有其他方法可以在不使用querystring的情况下获取url的最后一个片段并将其替换为空string@Rama并非所有的班轮都是一个花哨的解决方案:考虑一下你花在这个问题上的时间。附加问题,您将把此代码放在哪一部分?在视图中,控制器还是模型?这对我来说很有效:Request.Url.GetLeftPart(UriPartial.Path)。Replace(Request.Url.Segments.Last(),string.Empty)@Rama是的,这与我的答案的概念相同,但这是从控制器视图中获得的。接得好。我的回答并不是一句话,因为它在屏幕上看起来很糟糕。需要把它切成碎片吗