如何调用方法确认

时间:2013-01-22 13:21:10

标签: c# javascript

我有一个JS方法如下:(我不知道它是否100%正确)

<script Type="Text/Javascript">

if (confirm("Are you SUre ?")) {
  return true;
} else {
  return false;
}

</script>

并有一些疑问:

首先:我有一个名为JS的文件夹,我正计划把它放在那里,这是正确的吗?

第二:我会在Edit页面上使用此功能,因此当按钮click上的客户edit时,我希望通过"Are you Sure?之类的消息进行此确认和按钮是/否 如果clicks上的客户Yes,那么我将与edit on database保持联系。 那我该怎么做?如何在客户点击ImageButton

时调用此方法

还有一件事:如何使用C#获取此方法的返回并在我的aspx.cs上使用它?

我尝试了下面的代码,但没有工作= \它向我展示了popUp,但即使我点击cancel它也会转到OnClick方法

<asp:ImageButton ID="Btn_Alterar" runat="server" ImageUrl="~/Imgs/btAlterar.jpg" OnClick="Btn_Alterar_Click" OnClientClick="confirm()" />

2 个答案:

答案 0 :(得分:3)

这应该有效。它会弹出问题,如果他们说是,那么将处理服务器端代码(作为示例)。

JS:

<script language="javascript">
<!--
function doConfirm() {
    if (confirm("Are you SUre ?")) {
      //Person has said Yes, do your thing. Next line will allow the server side code to be processed
      return true
    } else {
      //User said No, do nothing and leave next line so the function call exits. 
      return false
    }
}
-->
</script>

ASP.NET控件:

<asp:ImageButton id="bMyButton" runat="server" onClientClick="doConfirm()" OnClick="DoServerSideCode" />

.CS

protected void DoServerSideCode(object sender, EventArgs e)
{
    //This will be called if JS is disabled OR the user clicks Yes. If the user clicks No then this won't be called. You can do DB logix here.
}

编辑(感谢@justnS)

另一种实施方式是:

ASP.NET控件:

<asp:ImageButton id="bMyButton" runat="server" onClientClick="return confirm('Are you sure?')" OnClick="DoServerSideCode" />

以上内容与之前的实现完全相同,但代码较少,内联完成。

答案 1 :(得分:0)

$( '#myLink的')。点击(函数(E){ e.preventDefault(); //有动作删除DB中的内容吗?去这里.. }

当然,你需要jQuery ..