2016-08-22 110 views
1

我知道一些人已经问过类似的问题。我已经阅读了大量的答案,但似乎没有解决我的问题。 我有一个表格,允许用户选择一个文件,并选择一个日期,该文件应该从中导入。如果日期小于(之前)最后一个导入时间段(这是数据库中跟踪上次导入日期的一个字段),我想要显示confirmbox以提醒用户继续导入可能会覆盖一些数据。用户可以选择是继续导入,否则选择否取消导入。我曾尝试如何获得ASP.NET中的确认框返回值C#

ASP的

的OnClientClick

方法:按钮

控制。问题在于,用户点击提交按钮后立即被触发,我不想显示确认框,直到我检查了服务器端C#上的最后一个导入时间段。我已经尝试将返回值写入像这样的隐藏字段:

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; 
     } 

那也没用。我试过从这里的解决方案:Javascript confirm message problem

不知何故,我似乎无法得到它与我的解决方案,因为他们有一些updatePanel他们正在使用。我只使用DatePickerDropDownList(用于选择要导入数据的客户端)和隐藏字段(如果需要)。如果可以的话请帮忙。我可以对上述任何一种方式进行调整,或者全新的解决方案。谢谢。

+0

在我看来就像被提交一次'button'形式点击,所以在隐藏字段中传递的值是用什么。一旦提交,几乎不可能改变。我的观察虽然 –

回答

1

试试这个,它的工作对我罚款:

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

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

+0

现在让我试试这个。 –

+0

您的解决方案不能解决我的问题。它只是继续选择默认操作,甚至不显示确认框 –

+0

你什么时候调用这个JavaScript? –

1

尝试this..You将获得值yes或no来隐藏字段

<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> 
+0

好的。现在,我将如何获得返回值(true或false)?因为我正在使用'ScriptManager'来调用后面代码的确认框 –

相关问题