我正在扩展一个模型以包含一个链接属性。它基于其中的其他属性来生成链接:
public partial class MyModelType
{
public string FilterLink
{
get
{
var u = new UrlHelper(HttpContext.Current.Request.RequestContext);
var route = new RouteValueDictionary(u.RequestContext.RouteData.Values);
route.Remove("other");
route.Add("other", null);
route.Add("id", this.Id);
return u.Action("Index", "ControllerName", route);
}
}
}
生成的链接是/ControllerName/1?other=2
. 如果我摆脱了route.Remove("other")
基于映射路线的链接:/ControllerName/1/2
. 当它从路由中删除时,如何防止它被用作查询字符串参数?UrlHelper 似乎以某种方式添加它,即使它不是路由值。