ASP.NET MVC 2.0...从模型生成查询 URL 参数?

发布于 2024-08-24 16:17:10 字数 356 浏览 7 评论 0原文

我有一个 ASP.NET MVC 应用程序,其中有一部分我并不想使用自动 url 功能。我有大量的可选参数需要传入。这基本上是针对复杂的查询表单...并且未使用的参数(即具有默认值)不应成为 URL 的一部分。我喜欢所有其他元素的 URL 路由,但在这里确实不合适。 URL 中包含 20 个左右的字段(其中 17 个为空)并没有真正使内容更具可读性。

我遇到的主要问题是操作链接的生成。在查询编辑器的部分视图上,我希望生成一个指向结果页面的操作链接。它们共享相同的模型(并且所有参数都是属性)。

有没有一种方法可以生成查询字符串参数以从模型开始使用?默认情况下已经存在另一种方式(将字段绑定到模型属性),但我需要一种方法来生成查询字符串......最好是自动生成。

I have an ASP.NET MVC application that has one part where I dont really want to use the auto url feature. I have a significant number of OPTIONAL parameters that need to pass in. This is basically for a complex query form... and a parameter that is not in use (i.e. has the default value) should please not be part of the URL. I love the URL routing for all other elements, but it is really not appropriate here. It does not reall make things more readable to have 20 or so fields in the URL, with 17 being empty.

The main problem I have is the generaton of the action link. On the partial view that is the query editor I want to have an action link generated that points to the results page. They both share the same model (and all parameters are properties).

Is there a method that can generate me the query string parameters to use starting from the model? The othe rway (binding fields to model properties) is already in by default, but I need a way to generate the query string.... preferably automatically.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

海风掠过北极光 2024-08-31 16:17:10

您所描述的内容听起来像是一棵简单的 if 树:

StringBuilder myQueryString = new StringBuilder();

if (parameter1 != null)
    myQueryString.Append("&Parameter1=" + parameter1.ToString());

if (parameter2 != null)
    myQueryString.Append("&Parameter2=" + parameter2.ToString());

当然,假设至少一个参数已经在查询字符串中。

What you are describing sounds like a simple if tree:

StringBuilder myQueryString = new StringBuilder();

if (parameter1 != null)
    myQueryString.Append("&Parameter1=" + parameter1.ToString());

if (parameter2 != null)
    myQueryString.Append("&Parameter2=" + parameter2.ToString());

Assuming at least one parameter is already in the querystring, of course.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文