当我上传文件时,我尝试使用.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?
祝你好运
答案 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];
小心!