如何在ASP.NET C#

时间:2016-08-22 07:08:48

标签: javascript c# asp.net confirm

我知道有很多人已经提出了类似的问题。我已经阅读了大量的答案,但似乎没有解决我的问题。 我有一个表单,允许用户选择一个文件,并选择应从中导入文件的日期。当日期少于(之前)最后一个导入期间(数据库中的字段跟踪上次导入日期)时,我想显示confirmbox以提醒用户继续导入可能会覆盖某些数据。用户可以选择“是”继续导入,或选择“否”取消导入。我试过了

  

的OnClientClick

的方法
  

的asp:按钮

控制。问题是,用户点击提交按钮会立即触发,我不想显示确认框,直到我检查了最后一个导入时间,这将在服务器端{{1 }}。我已经尝试将返回值写入隐藏字段,如下所示:

C#

这也不起作用。我从这里尝试了解决方案:Javascript confirm message problem

不知何故,我似乎无法使用我的解决方案,因为他们正在使用一些if (confirm("This Import Process Will Overwrite Existing Data. Do You Want to Continue?")) { document.getElementById("ans").value = "Yes"; return true; } else { document.getElementById("ans").value = "No"; return false; } 。我只使用updatePanelDatePicker(用于选择导入数据的客户端)和隐藏字段(如果需要)。如果可以的话请帮忙。我可以调整上述任何一个或全新的解决方案。谢谢。

2 个答案:

答案 0 :(得分:1)

试试这个,它对我来说很好:

    var c = confirm('Your message');
    if (c == true) 
    {
        document.getElementById('<%= HiddenField1.ClientID %>').value = 1;
    }
    else 
    {
        document.getElementById('<%= HiddenField1.ClientID %>').value = 0;
    }

您可以在后面的代码中访问HiddenField。

答案 1 :(得分:1)

试试这个..你会得到隐藏字段的值是或否

<script type="text/javascript">
    function ShowConform() {
        var confirm_value = document.createElement("INPUT");
        confirm_value.type = "hidden";
        confirm_value.name = "confirm_value";
        if (confirm("Do you want to save data?")) {
            confirm_value.value = "Yes";
        } else {
            confirm_value.value = "No";
        }

        var cn = document.forms[0].appendChild(confirm_value).value;
        //alert(cn);
         var c=document.getElementById('<%= hiddenfeid.ClientID %>').value
         c = cn;
        // alert(c);

    }

</script>