C# 如何在调用clientscript后停止执行

C# 如何在调用clientscript后停止执行,c#,jquery,asp.net,modal-dialog,C#,Jquery,Asp.net,Modal Dialog,我正在显示带有确认和取消按钮的模式弹出窗口,当在gridview中单击按钮时会调用该按钮。但是,当单击onclick函数时,我在特定条件下调用scriptmanager,如果条件失败,那么我希望停止进一步执行 这是我的网络表单: <div id="modalPopUp" class="modal fade" role="dialog"> <div class="modal-dialog modal-sm"> <

我正在显示带有确认和取消按钮的模式弹出窗口,当在gridview中单击按钮时会调用该按钮。但是,当单击onclick函数时,我在特定条件下调用scriptmanager,如果条件失败,那么我希望停止进一步执行

这是我的网络表单:

<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>
文件生成后,我想检查路径是否为空,当条件失败时,我会显示一个弹出窗口,用户将在其中选择确认或取消,并在该响应上执行rest代码。
将通知任何帮助。

在网格中循环。检查您的情况,如果为真,则禁用。您可以稍后启用它们(删除按钮更改以生成或执行其他操作):


但这会阻止用户再次生成文件。我不希望您可以在Page_LoadComplete事件中禁用特定行的按钮。我想对用户来说会更清楚。你能给我演示一下吗?你能帮我解答这个问题吗
<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>
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);
    }
}
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";
    }