带有 ViewModel 的 RouteValues

发布于 2024-12-08 12:42:25 字数 712 浏览 0 评论 0原文

我有一个 ViewModel,它是一个非常简单的过滤器对象,如下所示:

public class FilterViewModel
{
    public String FilterTerm { get; set; }
    public String FilterProperty { get; set; }
}

我希望做的是从另一个页面到此页面的路由链接,并将我的 FilterViewModel 传递到 RouteValues 的路由 url 创建中,如下所示:

Url.RouteUrl("myRoute", new { filter = new FilterViewModel() { FilterProperty = "Product", FilterTerm = _detail.FilterTerm }})"

Lo,什么另一方面呈现的是

http://theurl?filter=Fully.Qualified.Namespace.FilterViewModel

我不知道我期望什么,也许是序列化到查询字符串中的东西,如下所示:

http://theurl?filter=FilterProperty|Product,FilterTerm|ProductA

是否有办法做我想做的开箱即用的事情? (或者不是开箱即用的)

I have a ViewModel that is a very simple filter object like this:

public class FilterViewModel
{
    public String FilterTerm { get; set; }
    public String FilterProperty { get; set; }
}

what I was hoping to do was to do a route link from another page into this one and pass my FilterViewModel into the route url creation into the RouteValues like this:

Url.RouteUrl("myRoute", new { filter = new FilterViewModel() { FilterProperty = "Product", FilterTerm = _detail.FilterTerm }})"

Lo, what renders on the other side is

http://theurl?filter=Fully.Qualified.Namespace.FilterViewModel

I don't know what I expected, perhaps something that's serialized into the query string like this:

http://theurl?filter=FilterProperty|Product,FilterTerm|ProductA

Is there anyway to do what I'm trying to do out of the box? (or not out of the box)

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

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

发布评论

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

评论(1

毅然前行 2024-12-15 12:42:25

尝试这样:

Url.RouteUrl(
    "myRoute", 
    new { 
        FilterProperty = "Product", 
        FilterTerm = _detail.FilterTerm 
    }
)

不知道您的路由配置是什么样子,但这可能会产生 http://theurl?FilterProperty=Product&FilterTerm=ProductA 行中的内容。对于任何更奇特的东西,比如您在问题中显示的网址,您将必须编写自定义帮助程序。这没什么标准的。

Try like this:

Url.RouteUrl(
    "myRoute", 
    new { 
        FilterProperty = "Product", 
        FilterTerm = _detail.FilterTerm 
    }
)

No idea how your routing configuration looks like but this might produce something among the lines of http://theurl?FilterProperty=Product&FilterTerm=ProductA. For anything more exotic like the urls you have shown in your question you will have to write custom helpers. It's nothing standard.

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