如何将值从页面传递给用户控件

本文关键字:给用户 控件 | 更新日期: 2023-09-27 18:23:36

我在一个页面中使用一个用户控件。基本上,在登录后,这个页面会附带用户控制。我想从登录页面传递该用户控件中的用户名。

如何将值从页面传递给用户控件

有很多方法可以实现这个

  1. 正如一个人要找到控制
  2. 将值存储在会话中并设置该会话中的值
  3. 创建用户控件的公共方法,该方法将设置标签的值。。并在所需位置从页面中调用userControl.SetPageLabel()方法

确保你的标签在更新面板中,其他标签文本将被更改,但在屏幕上不可见。。。

或者你可以使用一些javascript来设置标签。。。

http://center4code.com/

假设您将登录名存储在主页面的某个LABEL中。像这样:

lblLogin.Text = "LoginName";

现在,在用户控件上,您有另一个名为lblWCLoginLABEL,您希望在其中从Parent页面分配登录名。这样做:

Label lblTextFromParentPageLabel = this.Parent.FindControl("lblLogin"); 
lblWCLogin = lblTextFromParentPageLabel.Text;

另一种方法(不管你是否有MasterPage)是使用会话

在你的页面或MasterPage代码后面设置会话。像这样:

Session["LoginName"] = "Some User Name";

在UserControl上检索会话值,如下所示:

string login_name = (string)(Session["LoginName"]);
Label1.Text = login_name;

有很多方法可以做到这一点。

我的建议是在用户控件中创建一个Property字段,允许您从引用该用户控件的任何页面读取或写入值。