我有多个更新面板(asp:UpdatePanel),在每个更新面板中,数据被插入并显示在相应的网格中(网格也包括在更新面板中)。
我有一个问题,我有一个asp:FileUpload控件,当数据被插入到这些更新面板时,它被重置,因为很少有控件有AutoPostBack=“true”。
我已经找到了一个更接近的解决方案:-
http://www.codeproject.com/Tips/101834/How-to-Maintain-FileUpload-Control-s-State-after-P
if (Session["FileUpload1"] == null && theFile.HasFile)
{
Session["FileUpload1"] = theFile;
lblStatus.Text = theFile.FileName;
}
else if (Session["FileUpload1"] != null && (!theFile.HasFile))
{
theFile = (FileUpload)Session["FileUpload1"];
lblStatus.Text = theFile.FileName;
}
else if (theFile.HasFile)
{
Session["FileUpload1"] = theFile;
lblStatus.Text = theFile.FileName;
}
但是这个解决方案并没有解决我的问题,不幸的是,所有这三个if-else检查都没有通过条件。
我猜想,与FileUpload控件并行使用的UpdatePanel存在一些问题。
我已经搜索了很多文章,但它无法找到的决议。请帮助我在这方面尽早。
2条答案
按热度按时间6ioyuze21#
您是对的!FileUpLoad在UpdatePanel中无法工作。您必须强制执行完全回发才能使其工作。您必须在updatePanel中添加一个asp按钮以保存选定的文件。在click事件中,将fileName保存在会话中。但要强制执行完全回发,您还必须向UpdatePanel中添加触发器。UpdatePanel应如下所示:
有关更多信息,您可以阅读以下URL:http://www.codeproject.com/Articles/16945/Simple-AJAX-File-Upload
希望对你有帮助...
watbbzwu2#
我有同样的问题,并通过在页面加载事件中添加下面的行解决: