Sha*_*lle 6 javascript asp.net-mvc jquery razor asp.net-mvc-3
我有一个链接,当点击时需要调用控制器操作与某些必须通过JavaScript检索的数据.该操作将返回FileStreamResult.
我查看了@ Url.Action,但我无法弄清楚如何(或者甚至)我可以传递必须通过JS检索的值字典内容.
然后我从点击处理程序中获取了$ .post.我遇到的问题是我不知道该怎么做才能成功:function()将文件流结果返回给用户.或者即使我可以.
所以任何有关你如何做这样的事情的帮助都会很棒..
然后我从点击处理程序中获取了$ .post.我遇到的问题是我不知道该怎么做才能成功:function()将文件流结果返回给用户.或者即使我可以.
究竟.你不能对javascritpt中的接收字节做很多事情:显然你不能将它保存在客户端计算机上,也不能将它传递给客户端上的某个外部程序.因此,不要调用应该使用AJAX返回文件的操作.对于这些操作,您应该使用普通链接:
@Html.ActionLink("download file", "download", new { id = 123 })
Run Code Online (Sandbox Code Playgroud)
并让用户决定如何处理该文件.您可以使用Content-Disposition标题并将其设置为inline或者attachment根据您是否要使用浏览器中的默认关联程序打开文件,或者使用"保存文件"对话框提示用户.
更新:
我似乎误解了这个问题.如果要将参数附加到现有链接,可以在javascript中订阅click事件,并通过将必要参数附加到查询字符串来修改href:
$(function() {
$('#mylink').click(function() {
var someValue = 'value of parameter';
$(this).attr('href', this.href + '?paramName=' + encodeURIComponent(someValue));
return true;
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14104 次 |
| 最近记录: |