__doPostBack提交Button单击事件,Button是UpdatePanel的Triggers之一,但Button事件中处理的内容UpdatePanel不刷新!高手帮忙!
拼命三朗 2009-04-02 04:07:58 问题:
我现在要实现这样一个功能,a.aspx弹出一个页面b.aspx,关闭后触发a.aspx的一个Button的Click事件.用__doPostBack刷新可以实现.
现在我把Button设置成updatepanel的Triggers之一,用js调用__doPostBack(Button的ID, ' ');来触发.服务端事件可以触发,执行也不报错.但是结果出不来.
如果我用按钮来触发这个事件,结果可以.
谁知道在updatepanel里我们用js的什么方法,可以实现和按下按钮一样的效果?
注:不能使用LinkButton替换Button!我的示例代码
a.aspx:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="a.aspx.vb" Inherits="a" %>
<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
Namespace="System.Web.UI" TagPrefix="asp" %>
<!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 runat="server">
<title>无标题页</title>
<script language="javascript">
function open()
{
if(window.showModalDialog('b.aspx')=='1')
{
__doPostBack('Button1','');
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:Button ID="Button1" runat="server" Text="Button" />
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:TextBox ID="Ret" runat="server"></asp:TextBox>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
div>
</form>
</body>
</html>
Partial Class a
Inherits System.Web.UI.Page
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
If Session("ret") = "" Then
System.Web.UI.ScriptManager.RegisterStartupScript(Me.Page, Me.Page.GetType, "", "<script language='javascript'>open()</script>", False)
Else
Me.Ret.Text = Session("ret")
Session("ret") = Nothing
End If
End Sub
End Class
b.aspx:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="b.aspx.vb" Inherits="b" %>
<!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 runat="server">
<base target="_self" />
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="return" /></div>
</form>
</body>
</html>
Partial Class b
Inherits System.Web.UI.Page
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Session("ret") = "1"
Me.Response.Write("<script language='javascript'>window.returnValue='1';window.close();</script>")
End Sub
End Class