我正在为一条路线建立一个UrlHelper 如best practices
问题是返回的值始终为null 在调试时发现
Url.RouteUrl(“x”)返回null
Url.RouteCollection [“X”]返回路线
我正在尝试:
public static string Category(this UrlHelper helper, int Id, string category)
{
return helper.RouteUrl("X", new {id = Id, category= category});
}
我看不出我做错了什么
答案 0 :(得分:17)
这似乎是因为您在注册路线时未指定{id}和{category}的默认值。
Url.RouteUrl("x")
将返回null,因为提供的id和类别没有值,并且您的路由定义没有默认值。
我认为您会发现,如果您更新路线条目以指定ID和类别的默认值,这将解决您的问题。或者,如果您确定总是提供id和类别的值,则可以不使用它。
就您的实际Url帮助方法Category()而言,如果您为id和category提供非null或空值,那么 应该正常工作。我完全复制了代码,它对我有用。
答案 1 :(得分:0)
出于某种原因,我还在运行mvc候选版本 我安装了mvc 1.0,现在工作正常