最近项目中用到上传控件,参数需要动态传参,经过查询总结了一下Uploadify 动态传参
jQuery(document).ready(function () { var ctrlid = getQueryString("ctrlptid"); jQuery("#file_upload").uploadify({ 'buttonImage': '/uploadify/browse-btn.png', 'auto': false, 'successTimeout': 99999, 'swf': '/uploadify/uploadify.swf', 'queueID': 'uploadfileQueue', 'uploader': '/uploadify/UploadHandler.ashx', 'fileSizeLimit': '0', 'fileTypeExts': '*.gif; *.jpeg; *.jpg; *.png', 'multi': false, 'queueSizeLimit': 5, 'progressData': 'speed', 'overrideEvents': ['onDialogClose'], //'formData': { 'someKey': 'someValue', 'ctrlid': 2 },//这里只能传静态参数 //'fileTypeExts': '*.rar;*.zip;*.7z;*.jpg;*.jpge;*.gif;*.png', 'onSelectError': function (file, errorCode, errorMsg) { switch (errorCode) { case -100: alert("上传的文件数量已经超出系统限制的" + jQuery('#file_upload').uploadify('settings', 'queueSizeLimit') + "个文件!"); break; case -110: alert("文件 [" + file.name + "] 大小超出系统限制的" + jQuery('#file_upload').uploadify('settings', 'fileSizeLimit') + "大小!"); break; case -120: alert("文件 [" + file.name + "] 大小异常!"); break; case -130: alert("文件 [" + file.name + "] 类型不正确!"); break; } }, 'onClearQueue': function (queueItemCount) { alert("取消上传"); return; }, 'onQueueComplete': function (queueData) { alert("文件上传成功!"); return; }, 'onUploadStart': function (file) { $("#file_upload").uploadify("settings", "formData", { 'ctrlid': ctrlid }); //在onUploadStart事件中,也就是上传之前,把参数写好传递到后台。 } }); });
后台取得参数,可以用context.Request.Form["ctrlid"] 来取得。