Uploadify将formdata变量传递给handler.ashx

时间:2013-06-11 12:05:00

标签: c# .net handler uploadify

当我上传文件时,我尝试使用.net和c#在uploadify中使用“formdata”将我的.aspx页面中的参数发送到我的handler.ashx中。参数取自具有值的文本框。 代码是:

 <script type = "text/javascript">
     $(document).ready(function() {
         $("#<%=FileUpload1.ClientID %>").uploadify({
             'swf': 'Scripts/uploadify.swf',
             'uploader': 'Handler.ashx',
             'auto': true,
             'multi': true,
             'buttonText': 'Select File(s)',
             'removeCompleted' : false,
             'fileTypeDesc' : 'PDF Files',
    'fileTypeExts' : '*.pdf',
    'formData' : { "id": "<%=TBcustnom.Text %>", "pwd": "<%=Pwd.Text %>" }


         });
     });

handler.ashx只接收第一个值(id),但不接收pwd部分中的最新值。

string id = context.Request["id"]; 
string pwd = context.Request["pwd"];

如何配置javascript以发送这两个参数?或者如何配置handler.ashx以接收pwd?

祝你好运

2 个答案:

答案 0 :(得分:1)

var data = {};
data.id = <%TBcustnom.Text %>;
data.pwd = <%Pwd.Text %>;

$(document).ready(function () {
    $("#<%=FileUpload1.ClientID %>").uploadify({
        'swf': 'Scripts/uploadify.swf',
        'uploader': 'Handler.ashx',
        'auto': true,
        'multi': true,
        'buttonText': 'Select File(s)',
        'removeCompleted': false,
        'fileTypeDesc': 'PDF Files',
        'fileTypeExts': '*.pdf',
        'formData': obj: JSON.stringify(data)
    });
});

在服务器端,

var jsonString = context.Request["obj"];
var serializer = new JavaScriptSerializer();
var jsonObjects = serializer.Deserialize<Dictionary<string, string>>(jsonString);

答案 1 :(得分:1)

我唯一需要做的就是看看正确的地方。

string id = context.Request["id"]; 
string pwd = context.Request["pwd"];

这应该是

string id = context.Request.Form[1]; 
string pwd = context.Request.Form[2];

小心!