关于用户控件,跪求大神.

tomoyo110 2012-06-15 03:10:25
我有一个主页面.调用了两个用户控件.(如果是登录状态,控件a与控件b都会动态显示登录人信息)
现在我点击其中一个控件a中的退出按钮.
如何能让控件b中的div层隐藏?(如果登录,div显示,反之则隐藏.)

跪求大神!!!
...全文
153 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tomoyo110 2012-06-15
  • 打赏
  • 举报
回复
好的,谢谢,我去试试.
孟子E章 2012-06-15
  • 打赏
  • 举报
回复
你需要
protected void lbtnExit_Click(object sender, EventArgs e)
{
ComTour17.Common.Utility.DelSession();
Response.Redirect(Request.UrlReferrer.ToString());
}
孟子E章 2012-06-15
  • 打赏
  • 举报
回复
你的AB控件里面都有2个层是吗?一共4个层?
tomoyo110 2012-06-15
  • 打赏
  • 举报
回复

我点A控件的退出,A控件里面的层都会变.
但是B控件还是没动静.

我调试过了,代码执行的优先级别是先load,然后才是事件.

所以这个UsersID一直都有值,知道最后执行了A控件的退出事件后,才清空session.

而这个时候load已经执行完了. 所以最后B控件还是不会变.
孟子E章 2012-06-15
  • 打赏
  • 举报
回复
完整的测试代码

<%@ Page Language="C#" EnableViewState="false" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
loginLoad();
}
}
String UsersID = "不为空";
/// <summary>
/// 验证是否登录,判断标签的显示与否
/// </summary>
private void loginLoad()
{
if (UsersID != "")
{
div1.Visible = false;
div2.Visible = true;

}
else
{
div1.Visible = true;
div2.Visible = false;
}
}

/// <summary>
/// 退出
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtnExit_Click(object sender, EventArgs e)
{

div1.Visible = true;
div2.Visible = false;

}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<form runat="server">
<div id="div1" runat="server">AAA </div>
<div id="div2" runat="server">BBB </div>
<asp:Button ID="Button1" runat="server" Text="退出" OnClick="lbtnExit_Click" />
</form>
</body>
</html>
孟子E章 2012-06-15
  • 打赏
  • 举报
回复
代码没问题,
书不是你 的
ComTour17.Common.Utility.GetSession("UsersID");
返回的内容有问题?
tomoyo110 2012-06-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
控件ID.Visible=false,不是div2=false吧

你的控件id="div2"?

A.B是一个控件放2次这样生成的?
[/Quote]

A,B控件下面各有两个层.
已登录是一个层(div1),
未登录也是一个层(div2)

登录状态,div1显示.div2隐藏.
未登录, div1隐藏,div2显示.

我上面代码里面,就是判断是否登录,然后相应的显示与隐藏div层.




目前困难就在, 我在A控件里面点退出,我B控件里面的div还是没变化,仍然是div1显示,div2隐藏.
孟子E章 2012-06-15
  • 打赏
  • 举报
回复
控件ID.Visible=false,不是div2=false吧

你的控件id="div2"?

A.B是一个控件放2次这样生成的?
tomoyo110 2012-06-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
控件b中判断登录状态来生成div
[/Quote]
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
loginLoad();
}
}
/// <summary>
/// 验证是否登录,判断标签的显示与否
/// </summary>
private void loginLoad()
{
UsersID = ComTour17.Common.Utility.GetSession("UsersID");
if (UsersID != "")
{
div1.Visible = false;
div2.Visible = true;
com_Users users = Bcom_Users.GetUsersModel(int.Parse(UsersID));
TrueName = users.UTrueName;
UsersLastTime = users.UsersLastTime.ToString();
}
else
{
div1.Visible = true;
div2.Visible = false;
}
}

/// <summary>
/// 退出
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtnExit_Click(object sender, EventArgs e)
{
ComTour17.Common.Utility.DelSession();
div1.Visible = true;
div2.Visible = false;

}

这个是代码... 控件A与B的代码是一样的.
大神请问这个要怎么改?
孟子E章 2012-06-15
  • 打赏
  • 举报
回复
控件b中判断登录状态来生成div

62,268

社区成员

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

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

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

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