upload.aspx.cs protected void Page_Load(object sender, EventArgs e)
    {    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        HF_RoomID.Value = "ss";
    }
upload.aspx        $(document).ready(function() {            $("#uploadify1").uploadify({
                'uploader': 'jquery/uploadify.swf',
                'method':'GET',
                'script': 'Handler.ashx',
                'scriptData':{'rnd':Math.random(),'ids':$("#HF_RoomID").val()},//传ids
                'cancelImg': 'jquery/cancel.png',
                'folder': 'UploadFile',
                'queueID': 'fileQueue1',
                'auto': false,
                'multi': true
            });
        });
    <form id="form1" runat="server">
    <asp:ScriptManager ID="Scriptmanager1" runat="server">
    </asp:ScriptManager>
    <div>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
                <asp:HiddenField ID="HF_RoomID" runat="server" />
            </ContentTemplate>
        </asp:UpdatePanel>
        <div id="fileQueue1">
        </div>
        <input type="file" name="uploadify1" id="uploadify1" />
        <p>
            <a href="javascript:fileID='AAA';$('#uploadify1').uploadifyUpload()">上传</a>| <a href="javascript:$('#uploadify1').uploadifyClearQueue()">
                取消上传</a>
        </p>
    </div>
    </form>Handler.ashxpublic void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
        string id = context.Request["ids"];//这里得到的ids是空的。
        
    }
问题 :string id = context.Request["ids"];//这里得到的ids是空的。
 

解决方案 »

  1.   

    'scriptData':{'rnd':Math.random(),'ids':$("#HF_RoomID").val()},//传ids
    改成
    'scriptData':{'rnd':Math.random(),'ids':$("#<%=HF_RoomID.ClientID%>").val()},//传ids
      

  2.   


    还是得到的ids是“”,rnd的值是能得到的,真奇怪 
      

  3.   

    因为你的事件是在 $(document).ready时加载,当页面读取完成时$("#HF_RoomID").val()取值肯定是空的。我最近也碰到了这样的问题。我的解决方案是自己写一个function,然后在方法中动态更改传值信息,就能保证你所传递的值是最新的。
    $(document).ready(function() {
                $("#uploadify1").uploadify({
                    'uploader': 'jquery/uploadify.swf',
                    'method':'GET',
                    'script': 'Handler.ashx',
                    'cancelImg': 'jquery/cancel.png',
                    'folder': 'UploadFile',
                    'queueID': 'fileQueue1',
                    'auto': false,
                    'multi': true
                });
            });        function UploadFile()
            {
                 $('#uploadify').uploadifySettings('scriptData', {'rnd':Math.random(),'ids':$("#HF_RoomID").val() });
                $('#uploadify').uploadifyUpload();
            }
    这样就可以实现你要的效果了。不知道你看明白没?
      

  4.   

    直接添加个 function UploadFile() 就可以了吗?
      

  5.   

    楼主请问为什么我运行到
    string id = context.Request["ids"];
    这里的时候id永远为null还有在这里
    'method': 'GET',
    设好get后是不是就可以了~~
      

  6.   


                $("#uploadify").uploadify({
                    'uploader': '../jquery.uploadify-v2.1.0/uploadify.swf',
                    'method': 'GET',
                    'script': 'UploadHandler.ashx',
                    //'scriptData': { 'rnd': Math.random(), 'no': neotek, 'type': type }, //传ids
                    'cancelImg': '../jquery.uploadify-v2.1.0/cancel.png',
                    'folder': 'UploadFile',
                    'queueID': 'fileQueue',
                    'auto': false,
                    'multi': false,
                    'onSelect': function (event, queueID, fileObj) {
                        $('#uploadify').uploadifySettings('scriptData', { 'rnd': Math.random(), 'no': _neotek, "type": _type });                },
                    'onComplete': function (event, queueID, fileObj, response, data) {
                        var value = response;
                        if (response == "1") {
                            alert("Successfully");
                            location.href = location.href;
                        }
                        else alert("Failure");
                    }
                });