Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用两个确认对话框?_Javascript_C#_Asp.net - Fatal编程技术网

Javascript 如何使用两个确认对话框?

Javascript 如何使用两个确认对话框?,javascript,c#,asp.net,Javascript,C#,Asp.net,我有一个链接按钮,在单击和确认对话框时显示确认对话框,我必须在数据库中搜索,如果找到值,则应再次显示确认对话框,在确认对话框后,再次必须执行一些搜索任务。为了更好地理解,我附上了流程图 Aspx页 <script language="javascript" type="text/javascript"> function confirm_payslip() { var res = confirm("Are y

我有一个链接按钮,在单击和确认对话框时显示确认对话框,我必须在数据库中搜索,如果找到值,则应再次显示确认对话框,在确认对话框后,再次必须执行一些搜索任务。为了更好地理解,我附上了流程图

Aspx页

 <script language="javascript" type="text/javascript">
        function confirm_payslip() {
                            var res = confirm("Are you sure to upload current month payslip data");
                            if (res) {
                                //return true;
                                document.getElementById("HiddenField1").value = "1";
                               var myName = <%=this.firstName%>;
                               if(myName==1)
                               {
                               var result = confirm("Payslip Already Uploaded. Do you want to replace it?");
                               if(result)
                               {
                               document.getElementById("HiddenField1").value = "2";
                               }
                               else
                               {
                                document.getElementById("HiddenField1").value = "0";
                                return false;
                               }
                               }
                            }
                            else {

                                document.getElementById("HiddenField1").value = "0";
                                return false;
                            }
                            return true;                         //document.getElementById("ctl00_ContentPlaceHolder1_div_PayTax").className = "loading"; 
                        }
        </script>
<asp:LinkButton ID="lbtn_payslip" runat="server" OnClientClick="confirm_payslip();" OnClick="lbtn_payslip_Click">Upload PaySlip Data</asp:LinkButton>
<asp:HiddenField ID="HiddenField1" runat="server" />
问题是第二个对话框以偶数运行,如第二次单击、第四次单击等。那么如何完成上述任务呢?

本演示可能会有所帮助?


我的方法有点不同,但它会让你达到你想要的

政务司司长网页:

protected void LinkButton1_Click(object sender, EventArgs e)
    {
        if (HiddenField1.Value.Trim() == "0")
        {
            return;
        }
        qry = "select count(*) from tbl_payslip_prn_t";
        dt = con.Execute(qry);
        if (dt.Rows.Count > 0)
        {
            ClientScript.RegisterStartupScript(typeof(Page), "exampleScript", "if(confirm(\"Payslip Already Uploaded. Do you want to replace it?\")){ document.getElementById('Button1').click(); }", true);
        }
        else
        {
            //Do Some task
        }
    }  
    protected void Button1_Click(object sender, EventArgs e)
    {
        //Do Some Task    
    }
aspx页面:

<script type="text/javascript">
        function confirm_payslip() {
            var res = confirm("Are you sure to upload current month payslip data");
            if (res) {
                //return true;
                document.getElementById("HiddenField1").value = "1";
            }
            else {

                document.getElementById("HiddenField1").value = "0";
                return;
            }
        }
    </script>
 <div>
        <asp:LinkButton ID="LinkButton1" runat="server" OnClientClick="confirm_payslip();" onclick="LinkButton1_Click">LinkButton</asp:LinkButton>

    </div>
    <div style="display:none">
     <asp:Button ID="Button1" runat="server" Text="Button" 
            onclick="Button1_Click" />
     <asp:HiddenField ID="HiddenField1" runat="server" />
    </div>

功能确认_工资单(){
var res=confirm(“您确定要上传当月工资单数据吗”);
如果(res){
//返回true;
document.getElementById(“HiddenField1”).value=“1”;
}
否则{
document.getElementById(“HiddenField1”).value=“0”;
返回;
}
}
链接按钮

在您的aspx上添加一个隐藏的asp:按钮,并将一个事件处理程序附加到该按钮上,然后在单击“确认”按钮上的“是”后编写您希望执行的代码

ClientScript.RegisterStartupScript(typeof(Page), "MyScript", "if(confirm(\"Payslip Already Uploaded. Do you want to replace it?\")){ document.getElementById('Button1').click(); }", true);

安静有用,但这不是我想要的。由于我必须在确认第一个对话框后从数据库中获取数据,并且代表第二个对话框,我建议使用webparts,因为在客户端(JS)和服务器(C#)端分离逻辑并不是编码的最佳方式,因为它变得难以管理和维护。
<script type="text/javascript">
        function confirm_payslip() {
            var res = confirm("Are you sure to upload current month payslip data");
            if (res) {
                //return true;
                document.getElementById("HiddenField1").value = "1";
            }
            else {

                document.getElementById("HiddenField1").value = "0";
                return;
            }
        }
    </script>
 <div>
        <asp:LinkButton ID="LinkButton1" runat="server" OnClientClick="confirm_payslip();" onclick="LinkButton1_Click">LinkButton</asp:LinkButton>

    </div>
    <div style="display:none">
     <asp:Button ID="Button1" runat="server" Text="Button" 
            onclick="Button1_Click" />
     <asp:HiddenField ID="HiddenField1" runat="server" />
    </div>
ClientScript.RegisterStartupScript(typeof(Page), "MyScript", "if(confirm(\"Payslip Already Uploaded. Do you want to replace it?\")){ document.getElementById('Button1').click(); }", true);