前提条件:B页面是由A页面打开的。 方法: 在A页面的前台代码中加入以下代码: <script language="javascript">function DownDvasp(htmlurl){var
newwin=window.open(htmlurl,'','toolbar=no,location=no,directories=no,status=no,menub
ar=no,scrollbars=no,resizable=no');return false;}</script> 此代码如果在继承母版页的asp.net页面中就需要加在<asp:Content ID="Content1"
ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">行下。 如果在一般的asp.net页面中就需加在<HEAD>段中。 然后在需链接打开的位置加入: <a href="B.aspx?id=<%# Eval("id")%>" onclick="return DownDvasp(this.href);">回复此留
言</a> 这样单击此链接就可打开一个窗口了。 在B页面的前台代码中加入以下代码: <input type='button' value='关闭窗口'
onclick='javascript:window.opener.location.href="A.aspx";window.close();''> 这样就实现了关闭B窗口的同时重新刷新A窗口的目地。
若只是关闭窗口而不需重新刷新A窗口,只需改成onclick='window.close()'就行了。
下面是我所做的一个回复留言的完整代码: liuyanmanager.aspx <%@ Page Language="C#" MasterPageFile="~/admin/MasterPageadmin.master"
AutoEventWireup="true" CodeFile="liuyanmanager.aspx.cs"
Inherits="admin_liuyanmanager" Title="Untitled Page" %> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1"
Runat="Server"> <script language="javascript">function DownDvasp(htmlurl){var
newwin=window.open(htmlurl,'','toolbar=no,location=no,directories=no,status=no,menub
ar=no,scrollbars=no,resizable=no');return false;}</script> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="id" DataSourceID="SqlDataSourcehufu" Width="100%"> <Columns> <asp:TemplateField HeaderText="会员名" SortExpression="userid"> <ItemTemplate> <asp:Label ID="Label1" runat="server" Text='<%# Bind("userid")
%>' Visible="False"></asp:Label> <asp:FormView ID="FormView1" runat="server"
DataSourceID="SqlDataSourceuser"> <ItemTemplate> <asp:Label ID="UserNameLabel" runat="server"
Text='<%# Bind("UserName") %>'></asp:Label><br /> </ItemTemplate> </asp:FormView> <asp:SqlDataSource ID="SqlDataSourceuser" runat="server"
ConnectionString="<%$ ConnectionStrings:ASPNETDBConnectionString %>" SelectCommand="SELECT UserId, UserName FROM vw_aspnet_Users
WHERE (UserId = @userid)"> <SelectParameters> <asp:ControlParameter ControlID="Label1" Name="userid"
PropertyName="Text" /> </SelectParameters> </asp:SqlDataSource> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="留言" SortExpression="liuyan"> <ItemTemplate> <asp:Label ID="Label2" runat="server" Text='<%# Bind("liuyan")
%>'></asp:Label> </ItemTemplate> <ItemStyle Width="520px" /> </asp:TemplateField> <asp:TemplateField HeaderText="留言时间" SortExpression="liuyantime"> <ItemTemplate> <asp:Label ID="Label4" runat="server" Text='<%#
Bind("liuyantime") %>'></asp:Label> </ItemTemplate> </asp:TemplateField> <asp:TemplateField HeaderText="回复"> <ItemTemplate> <a href="hufu.aspx?id=<%# Eval("id")%>" onclick="return
DownDvasp(this.href);">回复此留言</a> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> <asp:SqlDataSource ID="SqlDataSourcehufu" runat="server" ConnectionString="<%$
ConnectionStrings:articleConnectionString %>" SelectCommand="SELECT id, userid, liuyan, hufu, liuyantime FROM liuyan WHERE
(hufu = N'未回复')"> </asp:SqlDataSource> </asp:Content>
hufu.aspx <%@ Page Language="C#" AutoEventWireup="true" CodeFile="hufu.aspx.cs"
Inherits="admin_hufu" %>
<!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> </head> <body> <form
style="width: 500px"> <tr> <td style="width: 500px"> </td> </tr> <tr> <td style="width: 500px"> <asp:FormView ID="FormView1" runat="server" DataKeyNames="id"
DataSourceID="SqlDataSource1" Width="500px"> <ItemTemplate> <table border="0" cellpadding="0" cellspacing="0"
style="width: 480px"> <tr> <td width="480" style="text-align: center"
align="center" valign="top"> <asp:Label ID="useridLabel" runat="server"
Text='<%# Bind("userid") %>' Visible="False"></asp:Label><asp:FormView ID="FormView2" runat="server"
DataSourceID="SqlDataSourceuser"> <ItemTemplate> 来自 <asp:Label ID="UserNameLabel"
runat="server" Text='<%# Bind("UserName") %>'></asp:Label>的留言:<br /> </ItemTemplate> </asp:FormView> </td> </tr> <tr> <td width="480" align="center"> <asp:TextBox ID="TextBox1"
runat="server" Height="80px" ReadOnly="True" Text='<%# Bind("liuyan") %>' TextMode="MultiLine"
Width="480px"></asp:TextBox></td> </tr> </table> <asp:SqlDataSource ID="SqlDataSourceuser"
runat="server" ConnectionString="<%$ ConnectionStrings:ASPNETDBConnectionString %>" SelectCommand="SELECT UserId, UserName
FROM vw_aspnet_Users WHERE (UserId = @UserId)"> <SelectParameters> <asp:ControlParameter
ControlID="useridLabel" Name="UserId" PropertyName="Text" /> </SelectParameters> </asp:SqlDataSource> </ItemTemplate> </asp:FormView> </td> </tr> <tr> <td style="width: 500px"> 回复:</td> </tr> <tr> <td align="left" style="width: 500px"> <asp:TextBox ID="txthufu" runat="server" Height="80px"
TextMode="MultiLine" Width="480px"></asp:TextBox></td> </tr> <tr> <td align="center" style="width: 500px"> <asp:Button ID="Button1" runat="server" Text="回复"
OnClick="Button1_Click" />
<input type='button' value='关闭窗口'
onclick='javascript:window.opener.location.href="liuyanmanager.aspx";window.close();
''></td> </tr> </table> </div> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$
ConnectionStrings:articleConnectionString %>" SelectCommand="SELECT [id], [userid], [liuyan], [hufu] FROM [liuyan]
WHERE ([id] = @id)"> <SelectParameters> <asp:QueryStringParameter Name="id" QueryStringField="id"
Type="Int32" /> </SelectParameters> </asp:SqlDataSource> </form> </body> </html> hufu.aspx的部分后台代码: protected void Button1_Click(object sender, EventArgs e) { string hufustring = this.txthufu.Text.Trim(); if (hufustring != "" && hufustring != string.Empty) { hufustring = hufustring.Replace("'", "“"); string sql = "UPDATE liuyan SET hufu ='"+hufustring+"' WHERE id =
'"+Request.QueryString["id"]+"'"; using (SqlConnection connection = new
SqlConnection(ConfigurationManager.ConnectionStrings["articleConnectionString"].Conn
ectionString)) { using (SqlCommand command = new SqlCommand(sql, connection)) { connection.Open(); command.ExecuteNonQuery(); } } }
}
posted on 2006-06-26 04:11 E海星 阅读(609) 评论(1) 编辑 收藏 引用 网摘 所属分类: ASP.NET 2.0学习笔记
Feedback # re: 如何在asp.net中关闭B页面时,自动刷新A页面? 2006-09-11 12:02 what 假设分别是1.asp和2.asp ------1.asp .. .. .. <form action=2.asp method=post> . </form>
----------2.asp <meta http-equiv="refresh" content="2; url=1.asp"> '不要忘记在head区加这句
<% if request("txtn1")<>"" then for i=1 to cint(request("txtn1")) s="delete from cyprice where id = " & trim(request("txtep1" & cstr(i))) rs.open s,conn,3,2 next response.redirect "cyjc.asp" end if %>
在由2.asp转回1.asp的时候刷新了1.asp。
===================================================================================== 使用window.location.reload;刷新时,如果提交数据的动作,则会出现这么个讨厌的对话框!
解决此问题,应该这样写: window.location.href=window.location.href; window.location.reload; 同理,如果是刷新父窗口,应该这样写: window.opener.location.href=window.opener.location.href; window.location.reload; 这种写法就不出现那讨厌的对话框啦!
|
请发表评论