我想实现这样的功能
Web页面上有个按钮(不知道该用服务器端还是客户端)
点此按钮
弹出那个有“确定”和“取消”的对话框
点确定 就执行代码段A
点取消 什么也不执行怎么实现? 别只给一段如return confirm('是否要删除?')之类的代码(不知所云,我也不知道该写在什么地方)
最好说明用什么控件(服务器端还是客户端)
在CS页面里加什么代码
在HTML里加什么代码
谢谢 反正晚上值班也没啥事儿 加QQ聊聊吧 呵呵 我的QQ 8453605
Web页面上有个按钮(不知道该用服务器端还是客户端)
点此按钮
弹出那个有“确定”和“取消”的对话框
点确定 就执行代码段A
点取消 什么也不执行怎么实现? 别只给一段如return confirm('是否要删除?')之类的代码(不知所云,我也不知道该写在什么地方)
最好说明用什么控件(服务器端还是客户端)
在CS页面里加什么代码
在HTML里加什么代码
谢谢 反正晚上值班也没啥事儿 加QQ聊聊吧 呵呵 我的QQ 8453605
YourButton.Attributes["onclick"]="if(confirm('执行A吗??')){__doPostBack('LinkButton1','')}else{__doPostBack('LinkButton2','')}";LinkButton1的Click事件内写你要执行的A代码
LinkButton2的Click事件内写你要执行的B代码
function test() {
if (confirm("****?")) {
return true; }
else {
return false;}
}</script>在page_int里面
button1.Attributes.Add("OnClick", "return test();")
然后在button的click事件中写你要的代码
YourButton.Attributes["onclick"]="if(confirm('执行A吗??')){__doPostBack('LinkButton1','')}else{__doPostBack('LinkButton2','')}";LinkButton1的Click事件内写你要执行的A代码
LinkButton2的Click事件内写你要执行的B代码我第一次在我页面上测试通过 然后我新建一个项目 把那三句同样的代码写进去 发现不行了 也就是点了确定以后 不会去执行LinkButton1的单击代码 点了取消也不会去执行LinkButton1的单击代码我仔细检查了代码 也没什么错啊 不过我发现 在程序运行的时候 把鼠标指向两个LinkButton 在下面的状态拦出现的东西不一样 测试通过的页面上 直接用鼠标点LinkButton1不会执行它的代码 而在没通过的测试页面 就可以 怎么回事啊?
你第一次能够运行,而重新不能运行,那是由于__doPostBack只有在页面有linkbutton之类的控件的时候才会自动生成,所以如果你的新页面没有这些代码,你就不可以做__doPostBack的事情!
YourButton.Attributes["onclick"]="if(confirm('执行A吗??')){__doPostBack('LinkButton1','')}else{__doPostBack('LinkButton2','')}";LinkButton1的Click事件内写你要执行的A代码
LinkButton2的Click事件内写你要执行的B代码
//.ascx
<script language="javascript">
<!--
function doDelConfirm()
{
if (confirm("您确定删除所选供应商?"))
{
__doPostBack("delEvent","delPara0001");
}
}
//-->
</script><INPUT class="button" id="btnDel" type="button" value="删除" onclick="javascript:doDelConfirm();">//.ascx.cs file
if(!IsPostBack)
{
bindGrid(true);
}
else
{
if (Request.Form["__EVENTTARGET"]=="delEvent")
{
this.btnDel_Click();
}
bindGrid(false);}
WebForm2.aspx.vb
Inherits System.Web.UI.Page
Protected WithEvents Button1 As System.Web.UI.WebControls.Button
Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
Protected WithEvents Button2 As System.Web.UI.WebControls.Button
Protected WithEvents TextBox2 As System.Web.UI.WebControls.TextBox
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Button1.Attributes.Add("onclick", "var st=window.showModalDialog('user.aspx?val='+document.all('TextBox1').value);document.all('TextBox1').value=st;return st;")
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
RegisterStartupScript("key", "<script>window.opener=null;window.close(this);</script>")
End Sub
user.aspx.vb
Protected WithEvents TextBox1 As System.Web.UI.WebControls.TextBox
Protected WithEvents cancel As System.Web.UI.WebControls.Button
Protected WithEvents ok As System.Web.UI.WebControls.Button
Protected WithEvents TextBox2 As System.Web.UI.WebControls.TextBox
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim str As String
If Not IsPostBack Then
str = Request.QueryString("val")
TextBox1.Text = str
End If
End Sub
Private Sub cancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cancel.Click
RegisterStartupScript("key", "<script>window.returnValue='null';window.opener=null;window.close(this);</script>")
End Sub
Private Sub ok_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ok.Click
RegisterStartupScript("key", "<script>window.returnValue=document.all('TextBox2').value;window.opener=null;window.close(this);</script>")
End Sub
问题是第一次我在我已有的项目中都能测试通过 为什么我新建一个项目就不行了呢 总共就那么三句代码 ? 而你的那个加上doPostBack是在HTML里用脚本加上去 我在我原来项目里的一开始也没有什么LinkButton啊 就加了两个LinkButton 和一个Button 也没加什么脚本 我新建项目为什么就不行?? 你说我两次操作有什么不同嘛 拖三个控件和写三句代码 晕死 都是一样的啊