我有一个使用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很好。有谁知道为什么在使用客户端模板时我的动作没有被调用?感谢
答案 0 :(得分:0)
尝试
columns.Bound(c => c.DocID).ClientTemplate("<div><a href='javascript:' class='link-button-small' onclick='downloadFile(<#= DocID #>)'>...</a></div>");
转义序列可能存在问题。