AjaxUpload是一个能否实现页面无闪动刷新的jquery上传控件,对于它的使用网上有比较详细的讲解,但是对于此控件如何具体传递附加参数到服务端,没有特别多的说明。
http://valums.com/ajax-upload/在AjaxUpload控件项目首页上,看了一下它使用的讲解,再结合网上其他朋友一些零散的介绍,我在asp.net mvc2.0中对它进行了测试,在js中的基本配置我就不赘述啦,要注意的地方是在控件的构造方法中加上 data:{},data参数是ajaxupload控件以querystring的方法附加传递到服务端的数据,请注意这里的传递方式,也即get方法传递过去,在asp.net mvc中根据它自己的路由规则,就要在相应的controller中编写对应的action,action的参数名称要和data中设置的参数名称一致。如果是在php环境或者其他环境就要用获取querystring的方法来拿到附加的数据值。部分代码实例如下:
1、js脚本(html的代码省略啦)
$(function () {
var btnUpload = $('#upload');
var uploadBtn = new AjaxUpload(btnUpload, {
action: '/Dish/uploadPicture',
name: 'uploadfile',
data:{},
onSubmit: function (file, ext) {
var value="";//可以是你要发送的任何字符数据
this.setData({DName:value});
},
onComplete: function (file, response) {
}
});
});
注:使用该控件之前,请先导入相关的ajaxupload.js文件
2、后台控制器代码
public string uploadPicture(string DName){}//注:这里的DName对应客户端用querystring传递过来的DName参数,要保持一致
这样就能够处理ajaxupload动态传递附加参数的问题啦。