MVC动作不是从网格调用的

时间:2012-06-06 19:32:13

标签: c# asp.net-mvc-3 telerik telerik-grid

我有一个使用Telerik网格的MVC3应用程序。我有以下行动:

public ActionResult FileDownload(string id)

在我的网格上,我有一个ClientTemplate渲染一个小盒子。当用户单击该框时,我希望调用该操作。继承我的网格(为了简洁起见,只有一行):

columns.Bound(c => c.DocID).ClientTemplate("<div><a href=\"javascript:void(0);\"  
    class=\"link-button-small\" onclick=\"javascript:downloadFile(<#= DocID #>)\">...</a> 
</div>");

这是我的javascript:

function downloadFile(docId) {
    var url = "@(Url.Content("~/OrderDetails/FileDownload/"))" + docId;
    $('#downloadFrame').attr('src',url); //dumping some data to an iFrame
}

调用javascript函数很好,但我的Action永远不会被执行。我可以使用其他方法调用我的操作,例如在Telerik网格上使用ClientEvents,所以我的Action很好。有谁知道为什么在使用客户端模板时我的动作没有被调用?感谢

1 个答案:

答案 0 :(得分:0)

尝试

columns.Bound(c => c.DocID).ClientTemplate("<div><a href='javascript:' class='link-button-small' onclick='downloadFile(<#= DocID #>)'>...</a></div>");

基于此Telerik Forum post

转义序列可能存在问题。