仅使用javascript控件时的UpdatePanel问题

仅使用javascript控件时的UpdatePanel问题,javascript,asp.net,.net,updatepanel,fine-uploader,Javascript,Asp.net,.net,Updatepanel,Fine Uploader,下面是我使用FineUploader控件对页面的标记。我对代码进行了删节,只包含了重要的部分。此页面由两部分组成,都位于UpdatePanel中。第一部分是包含数据行的简单表,每行的最后一列是asp:LinkButton。第二部分是一个嵌套的UpdatePanel,它包含一个div,在该div中首次加载页面时呈现FineUploader控件(因为FineUploader控件严格来说是javascript,并且不存在于后面的代码中)。此外,当按下链接按钮时,此.Page.IsPostBack为fa

下面是我使用FineUploader控件对页面的标记。我对代码进行了删节,只包含了重要的部分。此页面由两部分组成,都位于UpdatePanel中。第一部分是包含数据行的简单表,每行的最后一列是asp:LinkButton。第二部分是一个嵌套的UpdatePanel,它包含一个div,在该div中首次加载页面时呈现FineUploader控件(因为FineUploader控件严格来说是javascript,并且不存在于后面的代码中)。此外,当按下链接按钮时,此.Page.IsPostBack为
false

问题是,只要按下页面第一部分的链接按钮,FineUploader控件就会消失。我无法从代码隐藏中获取要重新渲染的代码(使用类似于
ClientScript.RegisterStartupScript/RegisterClientScriptBlock
)。我也尝试过用UpdatePanel包装第1部分的各种设置,但它仍然破坏了我的FineUploader控件。我认为我使用的更新面板不正确,但不确定(ASP.NET通常不是我使用的)

作为一个附加的细节,如果我单击Part2嵌套UpdatePanel中的一个按钮,我的FineUploader控件就会神奇地重新出现

标记(对于可见性,重要零件用多行标记,大多数为空注释块):



.filename{ 可见性:隐藏; 身高:0; 宽度:0; 显示:块; } $(文档).ready(函数(){ var uploader=new qq.FineUploader({ 元素:$(“#精细上传程序”)[0], 请求:{ 端点:“AccountSetup.aspx” }, 自动上传:对, 多重:假, 正文:{ 上载按钮:“” }, 验证:{ 允许的扩展:['mp3','wav'] } }); }); 扩展 没有为您的帐户建立扩展
暂停音乐 操作员扩展
如何使FineUploader控件保持可见

编辑1: 考虑到这可能是页面生命周期问题,我尝试通过添加以下内容手动呈现控件:

  protected void Page_Init(object sender, EventArgs e)
  {
     string script = "<script type=\"text/javascript\">" +
                        "   alert('oh hey');" + 
                        "   $(document).ready(function () {" +
                        "      var uploader = new qq.FineUploader({" +
                        "         element: $('#fine-uploader')[0]," +
                        "         request: {" +
                        "            endpoint: 'AccountSetup.aspx'" +
                        "         }," +
                        "         autoUpload: true," +
                        "         multiple: false," +
                        "         text: {" +
                        "            uploadButton: '<asp:Button ID=\"fineUploadButton\" runat=\"server\" CssClass=\"button\" style=\"width:6;5\" Text=\"Browse\" />'" +
                        "         }," +
                        "         validation: {" +
                        "            allowedExtensions: ['mp3', 'wav']" +
                        "         }" +
                        "      });" +
                        "   });" +
                        "</script>";
        ClientScript.RegisterClientScriptBlock(this.GetType(), "HideOnPostback", script, false);

        System.Diagnostics.Debug.WriteLine("Page_Init() run");
  }
受保护的无效页\u Init(对象发送方,事件参数e)
{
字符串脚本=“”+
“警惕('oh-hey');”+
“$(文档).ready(函数(){”+
“var uploader=新qq.FineUploader({”+
“元素:$('#精细上传程序')[0],”+
“请求:{”+
“端点:'AccountSetup.aspx'”+
"         }," +
自动上载:真+
多重:假+
“文本:{”+
“上载按钮:“””+
"         }," +
“验证:{”+
允许的扩展名:['mp3','wav']+
"         }" +
  protected void Page_Init(object sender, EventArgs e)
  {
     string script = "<script type=\"text/javascript\">" +
                        "   alert('oh hey');" + 
                        "   $(document).ready(function () {" +
                        "      var uploader = new qq.FineUploader({" +
                        "         element: $('#fine-uploader')[0]," +
                        "         request: {" +
                        "            endpoint: 'AccountSetup.aspx'" +
                        "         }," +
                        "         autoUpload: true," +
                        "         multiple: false," +
                        "         text: {" +
                        "            uploadButton: '<asp:Button ID=\"fineUploadButton\" runat=\"server\" CssClass=\"button\" style=\"width:6;5\" Text=\"Browse\" />'" +
                        "         }," +
                        "         validation: {" +
                        "            allowedExtensions: ['mp3', 'wav']" +
                        "         }" +
                        "      });" +
                        "   });" +
                        "</script>";
        ClientScript.RegisterClientScriptBlock(this.GetType(), "HideOnPostback", script, false);

        System.Diagnostics.Debug.WriteLine("Page_Init() run");
  }