Ich habe ein AjaxFileUpload-Steuerelement in einem Benutzersteuerelement, das dynamisch auf Postback geladen wird, das Problem hier ist, sobald die Datei hochgeladen wird IsPostBack
ist falsch, aufgrund der die Benutzersteuerung nicht geladen ist, verursacht Das Ereignis OnUploadCompleteAll
wird nicht ausgelöst.AjaxFileUpload Postback-Ereignis von einem usercontrol ASP.NET
Ich fand heraus, dass AjaxFileUpload Steuerelement hat eine eigene Postback-Eigenschaft AjaxFileUpload.IsInFileUploadPostBack
, wie kann ich auf diese Eigenschaft von meinem Haupt WebForm1.aspx Seite zugreifen?
Wenn ein Ereignis von AjaxFileUpload ausgelöst wird, möchte ich IsInFileUploadPostBack
auf Seite laden von WebForm1.aspx überprüfen und laden Sie dann die Benutzersteuerung.
Hier ist der Code.
Webform1.aspx
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:Button ID="Button1" runat="server" Text="Load Control" OnClick="Button1_Click" />
<asp:PlaceHolder ID="Placeholder1" runat="server" />
</form>
Codebehind
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
loadcontrol();
}
protected void Button1_Click(object sender, EventArgs e)
{
}
private void loadcontrol()
{
this.Placeholder1.Controls.Clear();
var _controls = LoadControl("~/WebUserControl1.ascx");
this.Placeholder1.Controls.Add(_controls);
}
WebUserControl1.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs" Inherits="AjaxFileUpload_Test.WebUserControl1" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
<div id="div1">
<ajaxToolkit:AjaxFileUpload ID="AjaxFileUpload1" UseAbsoluteHandlerPath="false" OnUploadCompleteAll="AjaxFileUpload1_UploadCompleteAll" OnUploadStart="AjaxFileUpload1_UploadStart" runat="server" />
</div>
Potential Duplikat Page_Init: http://stackoverflow.com/questions/14665667/ajaxfileupload-postback-false –
Es gibt nur so viele Möglichkeiten, „es zu sagen, kann nicht als Arbeit beschrieben " Dieser Teil ist unmöglich " IsInFileUploadPostBack auf Seite laden von WebForm1.aspx und laden Sie dann die Benutzersteuerung. " Sie können eine Eigenschaft von etwas, das nicht geladen wurde, nicht überprüfen. –
Verstanden ... sagen wir, ich möchte die Eigenschaft in loadcontrol() überprüfen, nachdem das Steuerelement geladen wurde, wie mache ich das? –