2017-07-13 9 views
0

Ich zeige Modal Popup mit bestätigen und Abbrechen Schaltfläche, die aufgerufen wird, wenn eine Schaltfläche in Gridview geklickt wird. Aber wenn onclick Funktion geklickt wird, rufe ich den scriptmanager unter bestimmten Bedingungen auf und wenn die Bedingung fehlschlägt, möchte ich die weitere Ausführung stoppen.Wie stoppe ich die Ausführung nach dem Aufruf von clientscript

das ist mein Webformular:

<div id="modalPopUp" class="modal fade" role="dialog"> 
      <div class="modal-dialog modal-sm"> 
       <div class="modal-content"> 
        <div class="modal-header"> 
         <button type="button" class="close" data-dismiss="modal">&times;</button> 
         <h4 class="modal-title"> 
          <span id="spnTitle"></span> 
         </h4> 
        </div> 
        <div class="modal-body"> 
         <p> 
          <span id="spnMsg"></span>. 
         </p> 
        </div> 
        <div class="modal-footer"> 
         <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
         <button type="button" id="btnConfirm" class="btn btn-primary"> 
          Yes, please</button> 
        </div> 
       </div> 
      </div> 
     </div> 
<asp:GridView ID="GrdChargeCodeProcessing" runat="server" 
    AutoGenerateColumns="False" 
    AllowSorting="true" AllowPaging="true" PageSize="7" 
    CssClass="table table-responsive table-bordered table-hover AspGridview"> 
    <PagerStyle CssClass="pagination" /> 
    <Columns> 
     <asp:TemplateField HeaderText="Select Code"> 
      <HeaderTemplate> 
       <asp:CheckBox ID="SelectAllCode" runat="server" OnCheckedChanged="SelectAllCode_CheckedChanged" AutoPostBack="true" /> 
      </HeaderTemplate> 
      <ItemTemplate> 
       <asp:CheckBox ID="SelectCode" runat="server" OnCheckedChanged="SelectCode_CheckedChanged" AutoPostBack="true" /> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:BoundField DataField="TOTAL_MEMBERS" SortExpression="TOTAL_MEMBERS" HeaderText="Total Members"></asp:BoundField> 
     <asp:BoundField DataField="TOTAL_ANNEXURES" SortExpression="TOTAL_ANNEXURES" HeaderText="Total Annexures"></asp:BoundField> 
     <asp:BoundField DataField="PROCESSED_BY" SortExpression="PROCESSED_BY" HeaderText="Processed By"></asp:BoundField> 
     <asp:BoundField DataField="PROCESSED_DATE" SortExpression="PROCESSED_DATE" HeaderText="Processed Date"></asp:BoundField> 
     <asp:TemplateField HeaderText="Actions"> 
      <ItemTemplate> 
       <asp:Button ID="LnkViewButton" runat="server" Text="View" UseSubmitBehavior="false" OnClick="LnkViewButton_Click" CssClass="AspButton btn btn-primary"></asp:Button> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Actions" HeaderStyle-Width="120px"> 
      <HeaderTemplate> 
       <asp:LinkButton ID="LnkGenerateAllButton" BackColor="#ffffff" ForeColor="#000000" runat="server" OnClientClick="return getConfirmation(this, 'Please confirm','Are you sure you want to Generate Again?');" 
        OnClick="LnkGenerateAllButton_Click" CssClass="AspButton btn btn-primary"></asp:LinkButton> 
      </HeaderTemplate> 
      <ItemTemplate> 
       <asp:LinkButton ID="LnkGenerateButton" runat="server" Font-Underline="true" 
        OnClick="LnkGenerateButton_Click" CssClass="AspButton btn btn-primary">Generate</asp:LinkButton> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
    <HeaderStyle BackColor="#0089d0" ForeColor="White" HorizontalAlign="Left" /> 
    <PagerStyle BackColor="#0089d0" Font-Bold="true" ForeColor="White" /> 
    <EmptyDataTemplate>No Record Found</EmptyDataTemplate> 
    <EditRowStyle BackColor="#c0e6fa" /> 
</asp:GridView> 

<script type="text/javascript"> 
      function getConfirmation(sender, title, message) { 
       console.log("asas"); 
       $("#spnTitle").text(title); 
       $("#spnMsg").text(message); 
       $('#modalPopUp').modal('show'); 
       $('#btnConfirm').attr('onclick', "$('#modalPopUp').modal('hide');setTimeout(function(){" + $(sender).prop('href') + "}, 50);"); 
       return false; 
      } 
     </script> 

dies das Backend ist:

protected void LnkGenerateButton_Click(object sender, EventArgs e) 
{ 
    GridViewRow row = ((LinkButton)sender).NamingContainer as GridViewRow; 
    string ChargeCode = row.Cells[1].Text; 
    string path = ""; 
    CheckBox chktmp = (CheckBox)row.FindControl("SelectCode"); 
    if (chktmp.Checked == true) 
    { 
     FileGenerator file = new FileGenerator(); 
     //path = file.GenerateFiles(ChargeCode); 
     path = "asd"; 
     if (path == "") 
     { 
      path = file.GenerateAgain(ChargeCode); 
     } 
     else 
     { 
      ScriptManager.RegisterStartupScript(this, this.GetType(), "getConfirmation", "getConfirmation(this, 'Please confirm','Are you sure you want to Generate Again?');",true); 
     } 

    } 
    else 
    { 
     string message = "Please select confirm box"; 
     string header = "Info"; 
     ScriptManager.RegisterStartupScript(this, this.GetType(), "LaunchServerSide", "openModal('" + message + "','" + header + "','');", true); 
    } 
} 

Nach Datei Generation i, wenn Pfad leer überprüfen wollen oder nicht, und wenn Die Bedingung schlägt fehl, wenn das Popup angezeigt wird, in dem der Benutzer bestätigen oder abbrechen wird, und für diese Antwort möchte ich ex den Restcode ausführen. jede Hilfe wird geschätzt.

+0

Aber das würde den Benutzer daran hindern, Datei erneut zu generieren. und ich möchte das nicht – abhishek

+0

Sie können Schaltflächen für bestimmte Zeilen in Page_LoadComplete-Ereignis deaktivieren. Ich denke, es wäre viel klarer für den Benutzer. –

+0

Können Sie mir die Demonstration zeigen? – abhishek

Antwort

0

Schleife durch Gitter. Überprüfen Sie Ihren Zustand und deaktivieren Sie ihn, falls er wahr ist. Sie können sie später aktivieren (löschen Schaltfläche ändern, um oder etwas zu generieren):

protected void Page_LoadComplete(object sender, EventArgs e){ 
    foreach(GridViewRow row in GridView1.Rows){ 
     ImageButton but = (ImageButton)row.FindControl("YourButtonID");   
     if(blabla){ 
     disableButton(but); 
     } 
    } 
} 
    private void disableButton(ImageButton btn_delete) 
    { 

     btn_delete.Enabled = false; 
     btn_delete.ImageUrl = "~/Pics/delete_small_disabled.gif"; 
    } 

    private void enableButton(ImageButton btn_delete) 
    { 

     btn_delete.Enabled = true; 
     btn_delete.ImageUrl = "~/Pics/delete_small.gif"; 
    } 
+0

Können Sie mit dieser Frage https://stackoverflow.com/questions/45213246/how-to-show-modal-popup-with-yes-and-no-button-inside-loop-in-asp-net helfen – abhishek

Verwandte Themen