ASP.NET Web App确认框 - Button.Click

时间:2017-05-18 10:56:24

标签: c# asp.net

在过去的两个小时里,我一直在浏览与此问题相关的每个页面或YouTube视频,但我找不到解决方案。

问题:

我有一个ASP.NET 4.5 Web应用程序,其中包含一个用户可以添加一些数据的表单,我有一个按钮,我想将数据保存在数据库中。 当用户按下此按钮时,我要做的第一件事就是搜索是否已存在特定项目的记录。如果有,我想显示一个确认框,让我知道:"此记录已经存在。你想更新吗?"。如果用户按YES,我想进行更新,否则我会进行INSERT。问题在于这个该死的确认框。

到目前为止我所拥有的:

在aspx.cs中:

public void OnConfirm(object sender, EventArgs e)
{
    string confirmValue = Request.Form["confirm_value"];
    if (confirmValue == "Yes")
    {
    Response.Write("YES");
    }
    else
    {
    Response.Write("NO");
    }
}

在aspx中我有:

<script>
    function Confirm() {
        var confirm_value = document.createElement("INPUT");
        confirm_value.type = "hidden";
        confirm_value.name = "confirm_value";
        if (confirm("Record already exists. Do you want to update it?")) {
            confirm_value.value = "Yes";
        } else {
            confirm_value.value = "No";
        }
        document.forms[0].appendChild(confirm_value);
    }
</script>

我添加了一个按钮:

<asp:Button ID="alertBtn" runat="server" OnClientClick = "Confirm()" OnClick="OnConfirm" Text="" style="display:none"/>

如果我删除样式并运行应用程序,当我点击此按钮时,它可以完美地运行。确认框出现,当我点击YES时它调用一个函数,当我点击NO它调用另一个函数。

但是如何从代码中单击此按钮? 什么都行不通!

我尝试过:

1)    alertBtn.Click += new EventHandler(this.OnConfirm);//doesn't do anything
2)    ScriptManager.RegisterStartupScript(this.Page, Page.GetType(), "somekey", "Confirm();", true);//I was only able to run the Confirm() method, but it didn't call the OnConfirm method which is on the server. 
3)    Following step 2, I tried adding a call from js to c# in the Confirm() method: document.getElementById('<%=alertBtn%>).OnClick   //this didn't work either

如果有人有任何建议请分享,请在评论前仔细阅读该帖子。

我试着尽可能地解释这个问题。

所以我只想从后面的代码做一个Button.Click,以便触发Confirm()方法,这将打开一个确认框,在我点击YES / NO后,OnConfirm方法来自服务器应根据此YES / NO值调用适当的函数。如果除了使用按钮之外还有其他解决方案,我可以接受新想法。

更新:为了更好地解释我的问题,我添加了以下链接:Demo 这就是我现在拥有的。我想要实现相同的目标,而无需单击按钮,只需从代码中完成。

谢谢!

0 个答案:

没有答案