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