$top
匿名タイプのプロパティ名として使用することはできないため、を使用する別のRoutelink
オーバーロードを使用する必要がありますRouteValueDictionary
。
ただし、問題は、をRouteLink
使用Uri.EscapeUriString
してルート値をエスケープするため、次のコードを使用することです。
@Html.RouteLink("Campaigns", "DefaultApi", new RouteValueDictionary
{
{ "controller", "Campaign"} ,
{ "httproute", true },
{ "$top", 20 }
})
このURLを生成します:(にエンコードされたを/api/Campaign?%24top=20
参照)$
%24
ただし、非常に汚いハックを使用しますUri.UnescapeDataString
。
@Html.Raw(Uri.UnescapeDataString(
@Html.RouteLink("Campaigns", "DefaultApi", new RouteValueDictionary
{
{ "controller", "Campaign"} ,
{ "httproute", true },
{ "$top", 20 }
}).ToHtmlString()))
得られる:/api/Campaign?$top=20