工具:vs2005+sql2005
语言:.net+c#(或者javascript)
问题貌似:
申请者在网页填好申请的物资和申请的时间,服务器根据情况选择执行代码
客户端填好申请资料,按下提交按钮button1,服务器端根据填的资料和数据库现有的申请来判断:A.如果需要申请的物资还没有人申请的话就直接调用Newapply()函数在数据库插入申请表,弹出“成功提交申请”;B.如果需要申请的物资已经有人申请了就弹出confirm“已经有人正在申请同样的物资,是否继续申请?"点确定的话就调用Newapply()函数在数据库插入申请表,弹出“成功提交申请”,点取消的话就取消操作
ps:我现在页面的控件都是服务器控件
请问具体如何实现?如果是用button1.attributes.add("onclick","confirm('已经有人正在申请同样的物资,是否继续申请?');"),然后在button_onclick()事件里面调用Newapply()的话应该行不通,因为,这样的话不管怎么样点了button1按钮的话都会弹出confirm,这样的话就不是根据数据库判断是否需要弹出confirm了,另外论坛上还有一种说法是再加个隐藏button然后在客户端调用隐藏butoon的click()的,我在试着....
麻烦大家说下应该怎么解决,谢谢各位前辈~~~
------解决方案--------------------
下面的代码实现了你的目的,结帖吧:
- HTML code
<%@ Page Language="C#" %> <%@ Implements Interface="System.Web.UI.ICallbackEventHandler" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>Untitled Page</title> <script language="C#" runat="server"> public void Page_Load(object sender, EventArgs e) { btn1.Style["display"] = "none"; } public void Click1(object sender, EventArgs e) { Response.Write("提交了!"); } // 实现接口 public string m_CallbackResult; public string GetCallbackResult() { return m_CallbackResult; } public void RaiseCallbackEvent(string eventArgument) { // 这里做你的判断 if(eventArgument == "you") { m_CallbackResult = "0";// 已经有人正在申请同样的物资 } else { m_CallbackResult = "1";// 没有人正在申请同样的物资 } } </script> <script type="text/javascript" src="prototype.js"></script> <script type="text/javascript"> function CallServer(){ var arg = document.getElementById("txt1").value; <%=ClientScript.GetCallbackEventReference(this, "arg", "JsRecieve", null) %> } function JsRecieve(ret){ if(ret == "0"){ if(confirm("已经有人正在申请同样的物资,继续吗?")){ document.getElementById("btn1").click(); } }else document.getElementById("btn1").click(); } function SubmitCheck(){ CallServer(); return false; } </script> </head> <body> <form id="Form1" runat="server"> <asp:TextBox ID="txt1" runat="server"></asp:TextBox> <input type="button" onclick="SubmitCheck()" value="test" /> <asp:Button ID="btn1" runat="server" OnClick="Click1" Text="test" /> </form> </body> </html>