积极答复者
在母版页+updatepanel环境下,子页面刷新父页面GRIDVIEW

问题
-
主页面:
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="主页面.aspx.cs" Inherits="页面刷新测试_主页面" %> <asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server"> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" /> <asp:LinkButton ID="LinkButton1" runat="server" onclick="LinkButton1_Click">打开子页面</asp:LinkButton> <br /> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="SqlDataSource1"> <Columns> <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID" /> <asp:BoundField DataField="入库单号" HeaderText="入库单号" SortExpression="入库单号" /> <asp:BoundField DataField="供应商名称" HeaderText="供应商名称" SortExpression="供应商名称" /> <asp:BoundField DataField="入库时间" HeaderText="入库时间" SortExpression="入库时间" /> <asp:BoundField DataField="入库方式" HeaderText="入库方式" SortExpression="入库方式" /> <asp:BoundField DataField="发票类型" HeaderText="发票类型" SortExpression="发票类型" /> <asp:BoundField DataField="入库员" HeaderText="入库员" SortExpression="入库员" /> <asp:BoundField DataField="制单时间" HeaderText="制单时间" SortExpression="制单时间" /> </Columns> </asp:GridView> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:立得微电子有限公司ConnectionString %>" SelectCommand="SELECT * FROM [产品入库]"></asp:SqlDataSource> <br /> </ContentTemplate> </asp:UpdatePanel> </asp:Content>
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class 页面刷新测试_主页面 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { GridView1.DataBind(); } protected void LinkButton1_Click(object sender, EventArgs e) {//刷新母版页中UpdatePanel中GRIDVIEW的值 ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "openWin", "window.showModalDialog('子页面.aspx','','resizable:yes;scroll:yes;status:no;dialogWidth=800px;dialogHeight=800px;center=yes;help=no')", true);//关闭页面不提示 } }
答案
-
1、window.showmodaldialog打开的子页面(模态)
与
2、window.open 打开的页面 刷新父页面不同
1、模态的话,会在父页面进行阻塞
var result=window.showmodaldialog("url");
//这里会发生阻塞直到子页面关闭
父页面只有等待子页面关闭,才能获取到子页面返回的值,当然父页面也可以给子页面传值。
2、而window.open打开的页面
window.open("url");
子页面可以使用
window.opener.方法名 来触发父页面的操作
也可以
window.opener.document.getElementID 来获取document元素。
- 已建议为答案 gsralexModerator 2012年12月1日 0:38
- 已标记为答案 彭123 2012年12月13日 15:16
全部回复
-
子页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="子页面.aspx.cs" Inherits="页面刷新测试_刷新母版页中UpdatePanel中GRIDVIEW的值" %> <!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 id="form1" runat="server"> <div> <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="关闭" /> <asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="刷新父页面" /> </ContentTemplate> </asp:UpdatePanel> </div> </form> </body> </html>
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class 页面刷新测试_刷新母版页中UpdatePanel中GRIDVIEW的值 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { ScriptManager.RegisterStartupScript(Page, this.GetType(), "CloseWin", "window.close(); ", true); } protected void Button2_Click(object sender, EventArgs e) { //刷新父页面GRIDVIEW语句。 } }
请问应该怎样才能刷新父页面的GRIDVIEW啊。
-
1、window.showmodaldialog打开的子页面(模态)
与
2、window.open 打开的页面 刷新父页面不同
1、模态的话,会在父页面进行阻塞
var result=window.showmodaldialog("url");
//这里会发生阻塞直到子页面关闭
父页面只有等待子页面关闭,才能获取到子页面返回的值,当然父页面也可以给子页面传值。
2、而window.open打开的页面
window.open("url");
子页面可以使用
window.opener.方法名 来触发父页面的操作
也可以
window.opener.document.getElementID 来获取document元素。
- 已建议为答案 gsralexModerator 2012年12月1日 0:38
- 已标记为答案 彭123 2012年12月13日 15:16