日期:2014-05-20  浏览次数:20485 次

confirm单击确定后如何执行服务器端程序
.aspx文件中
<input   type= "button "   value= "删除 "   onclick= 'if(confirm( "确定删除吗? ")     <%#DeleteData()%> ) '> </button>

.cs文件中
public   void   DeleteData()
{
      ……     //删除
}

这段代码是不正确的,但我的意思大家应该看明白了
请问要实现在这的功能应该怎么做

------解决方案--------------------
你可以通过下面的方式来实现
1.Ajax
如果你网站使用了Ajax,那么把服务器端的方法暴露出来,大约如下方式:
<input type= "button " value= "删除 " onclick= 'if(confirm( "确定删除吗? ") ServerDeleteData() '> </button>
其中假设ServerDeleteData()是服务器方法暴露到客户端的方法名

2.非Ajax
如果你没有使用Ajax功能,又想实现这个功能的话,可以多添加一个服务器端控件,比如LinkButton1控件,并在它的OnClick事件中调用你的方法:
aspx页面:
<asp:LinkButton ID= "LinkButton1 " runat= "server " OnClick= "LinkButton1_Click "> </asp:LinkButton>
<input id= "Button1 "
type= "button " onclick= " 'if(confirm( "确定删除吗? ") LinkButton1.click(); " value= "button " />

aspx.cs页面:
protected void LinkButton1_Click(object sender, EventArgs e)
{
DeleteData();
}

3.如果你使用的是VS2005直接使用Button控件:
<asp:Button ID= "Button2 " OnClientClick= "return confirm( '确定删除吗? '); " runat= "server " Text= "Button " />
之后右Button的OnClick事件中调用你的删除方法就OK了。
------解决方案--------------------
<input runat= "server " id= "DeleteButton " type= "button " value= "删除 " onserverclick= "DeleteButton_ServerClick " onclick= "javascript:if (!confirm( '确定删除吗? ')) return; ">
protected void DeleteButton_ServerClick(object sender, EventArgs e)
{
//在这里写你的代码
}
------解决方案--------------------
直接使用服务端控件,对按钮指定事件,然后对该按钮添加客户端脚本事件
onclick= "if(confirm( 'xxxxx ')==false)return(false); "
如此一来,在点击 "取消 "按钮时,页面即不提交,反之则提交,自动执行该按钮的服务端事件.