C# 客户端模板不使用自定义帮助程序操作方法

C# 客户端模板不使用自定义帮助程序操作方法,c#,asp.net-mvc-3,telerik,telerik-grid,telerik-mvc,C#,Asp.net Mvc 3,Telerik,Telerik Grid,Telerik Mvc,我正在使用MVC Telerik控件和ASP.NET MVC 3以及razor视图引擎。我有自己的路由助手方法,例如: public static object CategoryEdit(this UrlHelper urlHelper, int categoryId) { return new { controller = "Category", action = "Edit", id = categoryId }; } 我有一个AJAX网格,我有自己的列模板,其中有一个链接,指向ca

我正在使用MVC Telerik控件和ASP.NET MVC 3以及razor视图引擎。我有自己的路由助手方法,例如:

public static object CategoryEdit(this UrlHelper urlHelper, int categoryId)
{
   return new { controller = "Category", action = "Edit", id = categoryId };
}
我有一个AJAX网格,我有自己的列模板,其中有一个链接,指向category controller中的edit action方法,但我不知道如何正确显示它。目前我有此功能,但不起作用:

column.Bound(x => x.Id)
   .ClientTemplate("<a href=\"" + Url.RouteUrl(Url.CategoryEdit(Int32.Parse("<#= Id #>"))) + "\">Edit</a>")
   .Title("Action")
   .Width(50);
column.Bound(x=>x.Id)
.ClientTemplate(“”)
.标题(“行动”)
.宽度(50);
当网格加载时,会出现以下异常:

输入字符串的格式不正确。

因此,我假设
Int32.Parse(“”)不正确。

试试这个:

public static object CategoryEdit(this UrlHelper urlHelper, string categoryId)
{
   return new { controller = "Category", action = "Edit", id = categoryId };
}

column.Bound(x => x.Id)
   .ClientTemplate("<a href=\"" + Url.RouteUrl(Url.CategoryEdit("<#= Id #>")) + "\">Edit</a>")
   .Title("Action")
   .Width(50);
public静态对象CategoryEdit(此UrlHelper UrlHelper,字符串categoryId)
{
返回新的{controller=“Category”,action=“Edit”,id=categoryId};
}
column.Bound(x=>x.Id)
.ClientTemplate(“”)
.标题(“行动”)
.宽度(50);

您能解释一下什么不起作用吗?“是的”,“不是一个有效的数字。”。ClientTemplate中指定的代码只是一个字符串,稍后将被解释为模板。它不会在客户端运行您的服务器端代码。@Atanas:您有解决方案吗?解决方案已经给出,但其作者似乎已经删除了他的响应。答案是在动作链接的路由值中嵌入。