我在页面中使用一个用户控件。 登录后,此页面基本上是用户控件。 我想从登录页面传递该用户控件中的用户名。
答案 0 :(得分:0)
假设您将登录名存储在主页上某处的LABEL
中。像这样:
lblLogin.Text = "LoginName";
现在,在用户控件上,您还有另一个名为 lblWCLogin 的LABEL
,您希望从父页面分配登录名。做这样的事情:
Label lblTextFromParentPageLabel = this.Parent.FindControl("lblLogin");
lblWCLogin = lblTextFromParentPageLabel.Text;
另一种方法(如果您有MasterPage,无关紧要)是使用会话。
在您的Page或MasterPage代码后面设置会话。像这样:
Session["LoginName"] = "Some User Name";
在UserControl上重写会话值,如下所示:
string login_name = (string)(Session["LoginName"]);
Label1.Text = login_name;
答案 1 :(得分:0)
有很多方法可以实现这个目标
确保您的标签位于更新面板中,其他明智的标签文字将被更改但在屏幕上不可见...
或者您可以使用一些javascript来设置标签......
答案 2 :(得分:0)
有很多方法可以做到这一点。
我的建议是在用户控件中创建一个Property字段,允许您从任何引用用户控件的页面读取或写入值。