获取不带操作方法名和查询字符串的URL。
获取不带操作方法名和查询字符串的URL。
我有以下的url链接:
http://localhost:100001/foldername/controllername/actionmethodname/?querystring=1&querystring=true
我只想提取出不包含动作方法名和查询字符串的url。
所需的输出将是:
问题的出现原因是在布局页面上无法使用ControllerContext来获取URL中的action名称。解决方法是使用Request.Url的方法来获取URL,并使用Replace()方法将action名称替换为空字符串。
以下是解决方法的代码示例:
string actionName = this.ControllerContext.RouteData.Values["action"].ToString(); string path = Request.Url.GetLeftPart(UriPartial.Path).Replace(actionName, String.Empty);
另外,还可以使用以下代码来实现相同的效果:
Request.Url.GetLeftPart(UriPartial.Path).Replace(Request.Url.Segments.Last(), string.Empty)
需要注意的是,这些代码应该放在视图(View)中进行使用。由于这些代码可能比较长,可以将其分成几行以提高代码可读性。
以上就是解决问题的方法。通过获取URL并替换action名称为空字符串,我们可以获得没有action方法名称和查询字符串的URL。