2016-04-11 7 views
0

Ich mache ein Projekt, wo ich einen Knopf gemacht habe, der ein Produkt hinzufügt.Abrufen von Wert aus window.confirm, in Code-Behind. [VB.net]

Wenn der Benutzer auf dieses klickt, ruft es eine Funktion auf, die das Produkt hinzufügt, und durchsucht dann meine DataBase (CheckProdRef-Funktion), um zu sehen, ob dieses Produkt über einige "follow-up" Produkte verfügt.

Wenn dies der Fall ist, möchte ich, dass mein Sub eine Pop-up-Box erstellt, "Dieses Produkt hat ein Folgeprodukt, möchten Sie hinzufügen?".

Dann basierend auf der Antwort des Benutzers, sollte ich das Produkt hinzufügen, oder nicht.

Allerdings habe ich das liebe Problem, dass ich wirklich keinen sinnvollen Wert aus der window.confirm abrufen kann.

Mein Code ist dies:

Protected Sub BTN_EM_TILFØJ_Click(sender As Object, e As EventArgs) Handles BTN_EM_TILFØJ.Click 
    Dim Lbl As New System.Web.UI.WebControls.Label 

    Call AddRowTbl(GV_EM, "MAT") 

    If CheckProdRef(TB_PROD_NR.Text) <> vbNullString Then 

     Lbl.Text = "<script language='javascript'>" & Environment.NewLine _ 
& "window.confirm(" & "'" & "There is a followup product, do you wish to add it?" & "'" & ")</script>" 
     Page.Controls.Add(Lbl) 

Das Folgende ist meine verzweifelte überprüfen, ob wahr/falsch der Wert war, was es nicht ist

If Lbl.Text = "True" Then` 
    Labtest.Text = "Du trykkede ok" 
Else 
    Labtest.Text = "du trykkede cancel" 
End If 

and then it goes onxxxxxxxxxxxxx 

ich einen Weg, müssen sich zu registrieren, wenn Der Benutzer klickt ja oder nein. Und ich sehe nicht, wie ich die Funktionalität der Schaltfläche hinzufügen kann, da dieses Pop-up nur angezeigt wird IF gibt es ein Folgeprodukt (obv).

Antwort

0

Angenommen, Sie AjaxControlToolkit verwenden, können Sie dies tun:

Auf Ihrer aspx einen Code-Block fügen den „Pop-up“ beziehen, die die Nachricht an den

<AjaxToolKit:ModalPopupExtender ID="mpeDiscrepancias" <-- ID to be used on code behind runat="server" TargetControlID="NuevaDiscrepanciaBtn" <-- button that will be popping out the message 
      PopupControlID="DiscrepanciaPanel" <-- control that will be displayed BackgroundCssClass="modalBackground" <-- css class for the modal CancelControlID="CerrarDiscrepanciaBtn"<-- button that will be closing the modal 
      Enabled="True"> 
     </AjaxToolKit:ModalPopupExtender> 

     <div id="DiscrepanciaPanel" style="background-color: gray; display: none; max-height: 600px; overflow: auto;max-width:95%"> 

      <table style="text-align:left"> 
       <tr> 
        <td colspan="2" class="MainTitle"> 
         YOUR MESSAGE 
        </td> 
       </tr> 
       <tr> 
        <td> 

        </td> 
        <td> 

        </td> 
       </tr> 
       <tr> 
        <td align="center" colspan="2"> 
         <br /> 
         <asp:Button ID="GuardarDiscrepanciaBtn" <-- save button runat="server" Text="Guardar" CausesValidation="true" ValidationGroup="Discrepancias" OnClick="GuardarDiscrepanciaBtn_Click" <--on click action /> 
         <asp:Button ID="CerrarDiscrepanciaBtn"<-- close modal button runat="server" Text="Cerrar" CausesValidation="False" /> 
        </td> 
       </tr> 
      </table> 
     </div> 

als Benutzer zeigen werden Sie können sehen, ist ziemlich einfach, nur daran erinnern, dass TargetControlID, PopupControlID und CancelControlID müssen sie existieren, um zu arbeiten, wenn Sie das modale durch eine Aktion zeigen, fügen Sie einfach einen Dummy, um die ZielsteuerungsID zu sein, ich benutze ein hiddenfield

<asp:HiddenField ID="NuevaDiscrepanciaBtn" runat="server" /> 

dann auf Ihrem Code hinter ist ziemlich einfach wie dies.

dann können Sie die Schaltfläche zum Speichern als eine normale Schaltfläche behandeln.

+0

Hallo thepanch, danke für deinen Beitrag. Aber ich sehe nicht, wie das funktionieren würde? Du meinst, ich sollte eine ganz neue Funktion "Bestätigung" machen? Ich muss den Check innerhalb des "BTN_EM_TILFØJ" -Untersuchers durchführen, so wie es jetzt ist .... Möchten Sie näher auf Ihre Antwort eingehen? – Vildgut

+0

Sorry, jetzt sehe ich, was Sie zu tun versuchen, was ist mit einem Panel, das nur in dieser Anweisung sichtbar ist 'If CheckProdRef (TB_PROD_NR.Text) <> vbNullString Dann showPanel' – thepanch

+0

Hallo Wieder, Sie schlagen vor, ich sollte den Pop fallen lassen -up, und stattdessen eine neue Lösung mit einem Panel verwenden? Wenn es also eine PRODref gibt, zeige ich das Panel mit dem "add extra product"? Ich nehme an, ich könnte das machen, ich habe mir einfach die Pop-Up-Lösung vorgestellt und ich habe anscheinend nirgends eine Lösung gefunden:/ – Vildgut

Verwandte Themen