Asp.net mvc 3 Telerik MVC在模板列中指定自己的操作路由器

Asp.net mvc 3 Telerik MVC在模板列中指定自己的操作路由器,asp.net-mvc-3,telerik,telerik-grid,telerik-mvc,Asp.net Mvc 3,Telerik,Telerik Grid,Telerik Mvc,我正在使用最新版本的Telerik MVC和ASP.NET MVC 3以及Razor查看引擎 我有以下专栏声明: column.Bound(x => x.Id) .Template(x => Html.ActionLink("Edit", "Edit", new { id = x.Id })) .Title("Action") .Width(100); 我已经创建了我自己的方法,该方法将路由到我想要使用但不确定如何使用的这个编辑操作方法 public static

我正在使用最新版本的
Telerik MVC
ASP.NET MVC 3
以及
Razor
查看引擎

我有以下专栏声明:

column.Bound(x => x.Id)
   .Template(x => Html.ActionLink("Edit", "Edit", new { id = x.Id }))
   .Title("Action")
   .Width(100);
我已经创建了我自己的方法,该方法将路由到我想要使用但不确定如何使用的这个编辑操作方法

public static object AdministrationCategoryEdit(this UrlHelper urlHelper, int categoryId)
{
   Check.Argument.IsNotNull(urlHelper, "urlHelper");

   return new { area = "Administration", controller = "Category", action = "Edit", id = categoryId };
}
如何在列声明中引用上述方法并将其传递给category ID

例如,如果我想将其与按钮一起使用,那么我会执行以下操作:

$('#btnEdit').click(function () {
   window.location = '@Url.RouteUrl(Url.AdministrationCategoryEdit(Model.Id))';
});

由于所有
ActionLink
方法都有一个单独的操作参数,因此没有完全符合您需求的方法。但是,即使操作现在被指定了两次,它也应该与以下代码一起工作

column.Bound(x => x.Id)
   .Template(x => Html.ActionLink("Edit", "Edit", Url.AdministrationCategoryEdit(x.Id)))
   .Title("Action")
   .Width(100);

另一种方法是创建一个类似于
ActionLink
的HTML帮助程序,它现在只生成路由参数,但生成链接的完整代码。

谢谢。我想创建一个helper方法也是一样的。