有关UpdatePanel使用弹出框返回界面的问题
当点击新增用户的时候弹出一个对话框,问题是当点击对话框里返回按钮的时候,返回的界面还是以对话框的形式展现,很头疼;下面是我实现弹出框的方法:
父界面UserManage.aspx调用的前台:
<form id="form1" runat="server">
<fieldset>
<legend>用户管理</legend>
<div id="man_zone">
<asp:ScriptManager ID="sm" runat="server">
</asp:ScriptManager>
<div class="ui-state-default" style="height: 100%;">
<div style="width: 100%; background-color: #DFEFFC;">
<table cellpadding="0" cellspacing="1">
<tr>
<td>
<asp:LinkButton ID="btnAddUser" ForeColor="#020201" runat="server" Font-Underline="false"
OnClick="btnAddUser_Click"><img align="absmiddle" src="../../images/ico_Add.gif" style="border-style:none;"/>新增用户</asp:LinkButton>
</td>
<td>
</td>
<td>
用户名
</td>
<td>
<asp:TextBox ID="tbUserName" runat="server" Width="100px"></asp:TextBox>
</td>
<td>
</td>
<td>
<asp:LinkButton ID="btnQuery" runat="server" Text="查询" OnClick="btnQuery_Click"><img align="absmiddle" src="../images/SearchResult_T.gif" style="border-style:none;"/>查询</asp:LinkButton>
</td>
</tr>
</table>
</div>
<asp:HiddenField ID="hfRYID" runat="server" Value=""/>
<asp:UpdatePanel ID="up" runat="server">
<ContentTemplate>
<asp:GridView ID="gvUserManage" runat="server">
<PagerStyle CssClass="GridViewPagerStyle" />
<HeaderStyle CssClass="GridViewHeaderStyle" />
<RowStyle CssClass="GridViewRowStyle" Height="25px" />
<AlternatingRowStyle CssClass="GridViewAlternatingRowStyle" />
<PagerSettings FirstPageText="首页" LastPageText="最后 1 页" NextPageText="下 1 页" PreviousPageText="上 1 页"
Mode="NumericFirstLast" />
<EmptyDataTemplate>
<font size="4pt">无数据!</font></EmptyDataTemplate>
<Columns>
<asp:TemplateField HeaderText="序号">
<HeaderStyle HorizontalAlign="Center" Width="40px"></HeaderStyle>
<ItemTemplate>
<%# gvUserManage.PageIndex * gvUserManage.PageSize + gvUserManage.Rows.Count + 1%>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="USERNAME" HeaderText="用户名" SortExpression="Sex" ItemStyle-HorizontalAlign="Center">
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundField>
<asp:BoundField DataField="USERJC" HeaderText="登录名" SortExpression="Sex" ItemStyle-HorizontalAlign="Center">
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundField>
<asp:BoundField DataField="rolename" HeaderText="角色" SortExpression="Sex" ItemStyle-HorizontalAlign="Center">
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:BoundField>
<asp:TemplateField HeaderText="操作" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:ImageButton ID="ImageButton2" CommandName="UserUpdate" runat="server" ImageUrl="~/images/edit.PNG" CommandArgument='<%# Eval("userid") %>' />
<asp:ImageButton ID="ImageButton1" CommandName="Delete" runat="server" ImageUrl="~/images/delete.PNG"
OnClientClick="return confirm('你确认要删除此用户吗?');" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:TemplateField>
</Columns>
<PagerTemplate>
</PagerTemplate>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</fieldset>
</form>
后台是通过下面的一句转向的:
#region 新增用户 protected void btnAddUser_Click(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(btnAddUser, this.GetType(), "alert", "<script>MyDialog.opendlg('新增用户','../../WebApp/System/AddUser.aspx?RYIDs=" + Server.UrlEncode(hfRYID.Value.ToString())+ "', 512, 500, true);</script>", false);
}
#endregion
AddUser.aspx是弹出新增用户的界面,在其中用了如下JS实现将此界面以对话框的形式展现:
<script type="text/javascript">
var P = window.parent, D = P.loadinndlg();
function ok(UserName,UserID) //确定按钮调用的函数
{
D.document.getElementById("tbUsers").value=UserName;
D.document.getElementById("hfRYID").value=UserID;
P.cancel(); //调用父窗口的关闭窗口的方法
}
function CloseWin()
{
P.cancel(); //调用父窗口的关闭窗口的方法
}
</script>
后台的返回代码如下:
#region 返回
protected void btnReturn_Click(object sender, EventArgs e)
{
Response.Redirect("UserManage.aspx");
}
#endregion
问题是返回的UserManage.aspx界面还是对话框的形式,而此时的UserManage.aspx父界面属性竟然显示Main.aspx,不解,请高手赐教!