如何在我的 Controller 中获取完整的请求 URL(包括查询字符串)?是连接我的 URL 和表单参数的问题还是有更好的方法。
我查了 this问题,但它似乎不适用于 MVC。
如果我错了纠正我。
一些更详细的信息:
我给我的电话 SearchController.AdvancedSearch()
源自一个包含大约 15 个可选参数的表单。由于参数的数量和(我认为)无法以干净的方式传递可选参数的数量,我选择了在 Controller 中处理的通用字符串。
现在我希望我的 Controller 将它的调用存储在面包屑组件中,这样当点击面包屑时,可以获取完全相同的结果(包括所有参数,但不是更多参数)。为此,我需要整个 request.URL,包括查询字符串。
在 Request.RawURL
, request.URL
等这个查询字符串不包括在内。事实上,目前我做了一个普通的功能。
String.Format("{0}/{1}", request.Url, request.form)
这给了我一些奇怪的结果(如提交按钮值等),但它有效。如果有关于如何减少丑陋黑客的建议,请告诉。
我知道在哪里可以找到当前请求,但我似乎无法在任何地方找到原始 URL。他们都被剥夺了查询字符串,我也需要那一点。
我的 Controller 更新了我的
BreadCrumb
中的一组 URL。成分。因此它需要请求 URL。你如何建议我解决这个问题?
最佳答案
您可以使用 Request.Url.PathAndQuery
.
MVC5:使用 Request.RequestUri.PathAndQuery
关于asp.net-mvc - 获取完整的请求 url,包括 Controller 中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/261345/