asp.net-mvc - 获取完整的请求 url,包括 Controller 中的参数

标签 asp.net-mvc url

如何在我的 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/

相关文章:

react-native - 如何在 React Native for Android 上设置 keyboardType = "web-search"或 "url"?

用于启用和禁用的 RESTFul 模式 URL

asp.net-mvc - ASP.NET MVC 应用程序将运行多长时间

css - bundle 来自不同文件夹的样式表和脚本

php - .htaccess 用于使用 Yii 框架的子目录中的站点

http - '?' versus ' #!'在网址中

javascript - 无法通过 url 访问 Ember 子路由并将我重定向到父路由

asp.net-mvc - 获取附加EditorTemplate中字段的属性

C# 在没有 Controller 的情况下渲染局部 View

asp.net-mvc - 在 IE 8 上呈现的 html 中出现奇怪的额外字符