0

Ich versuche im Grunde zu tun, was dieser Artikel sagt. link text Ich kann Postback, aber mein Handler wird nicht getroffen. Irgendwelche Ideen?Warum kann ich nicht den Ereignishandler im Code hinter einem modalen Popup-Postback

Code hinter

protected void Page_Init(object sender, EventArgs e) 
{ 
      WireEvents(); 

} 

private void WireEvents() 
{ 
      btnAuthOk.Click += new EventHandler(btnAuthOk_Click); 
      btnAuthOk.OnClientClick = string.Format("fnClickOK('{0}','{1}')", btnAuthOk.ClientID, string.Empty); 
} 

    private void btnAuthOk_Click(object sender, EventArgs e) 
    { 
      DoSomeCodeHere(); 
    } 

Javascript & HTML

function fnClickOK(sender, e) { 
     __doPostBack(sender, e); 
    } 

<p>To allow this payment to be processed, enter an authorized User ID and Password</p> 
    <p>User ID: <asp:TextBox runat="server" ID="txtAuthUser" CssClass="underlinedTextBox" Columns="8" /> 
    <asp:Literal runat="server" ID="spauth" Text="&nbsp;&nbsp;&nbsp;" /> 
     Password : <asp:TextBox runat="server" ID="txtAuthPass" TextMode="Password" CssClass="underlinedTextBox" Columns="10" /> 
    </p> 
    <asp:Button runat="server" ID="btnAuthOk" Text="Submit" CssClass="popupAuthButton" UseSubmitBehavior="false" /> 

</asp:Panel> 

<cc1:ModalPopupExtender ID="authPE" runat="server" PopupControlID="popupAuth" 
    OkControlID="btnAuthOk" TargetControlID="hdnPopupTarget" BackgroundCssClass="modalBackground" /> 

Vielen Dank für jede Hilfe hier ...

Cheers, ~ ck

PS Stack muckt mein HTML etwas, da ich nicht weiß, wie man HTML richtig schreibt. Kann jemand bearbeiten und reparieren, ich schätze es. :)

Antwort

0

Wenn Sie nur möchten, dass Ihre OK-Schaltfläche ein Postback ausführt, entfernen Sie einfach das OkControlID-Attribut aus Ihrem ModalPopupExtender-Markup.

Ich weiß, ich weiß - das klingt lächerlich. Wenn Sie jedoch OK und Abbrechen-Schaltflächen-IDs für den MPE angeben, werden sie tatsächlich deaktiviert, sodass sie auf der Clientseite nicht zurückgeschrieben werden können.

1

Ich fand, dass die Einstellung UseSubmitBehavior = "false" tatsächlich erlaubt mir, meinen Code zu treffen.