0

次のような非常に単純なフィルター オブジェクトである ViewModel があります。

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

私が望んでいたのは、別のページからこのページへのルート リンクを作成し、次のようにルート URL の作成に FilterViewModel を渡すことでした。

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

私が箱から出してやろうとしていることをする方法はありますか?(または箱から出していない)

4

1 に答える 1

1

このようにしてみてください:

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

ルーティング構成がどのように見えるかわかりませんが、これによりhttp://theurl?FilterProperty=Product&FilterTerm=ProductA. 質問で示した URL のようなよりエキゾチックなものについては、カスタム ヘルパーを作成する必要があります。それは標準的なものではありません。

于 2011-10-05T21:47:45.447 に答える