以下代码在开发中工作正常,只要我在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");
答案 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>")
;