列模板kendo ui grid mvc动作链接

时间:2012-12-05 03:11:59

标签: asp.net-mvc-3 kendo-ui

以下代码在开发中工作正常,只要我在Web服务器中部署它就可以找到文件目录。我需要更改.client模板,使其不像以前那样硬编码。因此,如果我们部署到Top文件夹名称不同或层次结构发生更改的服务器,它仍会找到该页面。

我在考虑使用@ Url.Action但不确定在这种情况下如何在.CLientTemplate中实现

columns.Template(@<text>
           @Html.ActionLink(@item.FirstName, "Index", "Summary", new { testId = @item.FirstName })  
         </text>)
          .ClientTemplate("<a href='/Summary/Index/?testId =#= TestId #'>#=FirstName#</a>").Title("First Name");

4 个答案:

答案 0 :(得分:6)

这样的事情应该做:

.ClientTemplate("<a href='" + Url.Action("Index", "Summary", new { testId = "#=TestId#" }) + "'>#=FirstName#</a>")

答案 1 :(得分:6)

我让这个工作得很好

columns.Bound(a => a.Id)
       .Title("Action")
       .Filterable(false)
       .ClientTemplate(
                       "<a href='" 
                      + Url.Action("ActionName", "Controller") 
                      + "/#= Id #'" 
                      + ">View</a>"
                      );

我需要一个额外的列和一个链接按钮字段,以转到客户的详细信息页面。我不需要此列的过滤器选项,这就是我使用Filterable(false)删除它的原因。您也可以像上面一样提供链接内容和列标题。此值"/#= Id #'"是我传递给控制器​​操作方法的值。

答案 2 :(得分:3)

如果你使用服务器绑定(而不是ajax)和Razor作为你的视图引擎,这是一个例子。我需要一个链接,如/ Controller / Action / Id,其中Id是从模型的属性获得的。请注意,@ item表示网格当前正在处理的模型实例。

columns.Template(@<text>@Html.ActionLink(AbaScore.Resources.App.Edit,"ACTION", "CONTROLLER", new { @item.Id }, null)</text>)

答案 3 :(得分:0)

我已经看过87个不同的例子,但没有一个有效。这就是我最终做到的,它起作用了,而且它很简单。

columns.Bound(p => p.member_id)
       .ClientTemplate("<a href='/members/details/#=member_id#'>Details</a>")
       ;
相关问题