我正在为路由创建一个UrlHelper
如
best practices
问题是返回值始终为空
当调试发现时
Url.RouteUrl(“x”)返回null
Url.RouteCollection [“X”] return Route
我正在努力:
public static string Category(this UrlHelper helper,int Id,string category) { return helper.RouteUrl("X",new {id = Id,category= category}); }
我看不到我做错了什么
解决方法
看来,这是因为您在注册路由时未指定{id}和{category}的默认值.
Url.RouteUrl(“x”)将返回null,因为没有提供id和类别的值,并且您的路由定义没有默认值.
我想你会发现如果你更新你的路由条目,以指定ID和类别的默认值,这将解决你的问题.或者,如果您确定始终为id和category提供值,则可以不使用该值.
就实际的Url帮助方法Category()而言,如果要为id和category提供非空值或空值,那么应该正常工作.我真的复制了代码,它适用于我.