有关UpdatePanel使用弹出框返回界面的问题

zyr987503101 2012-06-11 10:25:05
当点击新增用户的时候弹出一个对话框,问题是当点击对话框里返回按钮的时候,返回的界面还是以对话框的形式展现,很头疼;下面是我实现弹出框的方法:

父界面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,不解,请高手赐教!
...全文
69 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyr987503101 2012-06-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
AddUser.aspx 这个页面的

<head>
<base target="_self"/>
</head>

加入base 即可
[/Quote]

试过了,还是木有用耶~~~~·
xuan.ye 2012-06-11
  • 打赏
  • 举报
回复
AddUser.aspx 这个页面的

<head>
<base target="_self"/>
</head>

加入base 即可
zyr987503101 2012-06-11
  • 打赏
  • 举报
回复
怎么都木有人来的呢,郁闷
`````

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧