【问题标题】:How a method located inside a user control can access data from aspx page?位于用户控件内部的方法如何访问 aspx 页面中的数据?
【发布时间】:2013-02-12 15:24:16
【问题描述】:

我在同一个 aspx 页面上有一系列相同类型的用户控件。当每个用户控件加载时,我希望它检查 aspx 页面中的一些信息,例如,谁登录,它是哪个会话,以及儿子。

目前,我正在返回一个硬编码的值。 GetUserDBName() 位于用户控件内

private string GetUserDBName()
{
   return "UserDBName";
}

此方法如何访问位于包含用户控件的 aspx 页面中的数据?下面是在 aspx 页面中如何定义会话。

private string strDBName = string.Empty;

protected void Page_Load(object sender, EventArgs e)
{
  strDBName = Session["UserDBName"].Trim();
}

感谢您的帮助

编辑

父页面的名称是 NewHireCheck.aspx。用户控件的名称是 CheckListByDepartment.ascx

【问题讨论】:

  • 父 ASPX 页面是否始终相同(或至少具有相同的代码隐藏类)?
  • 我想是的。我们创建了这个用户控件,只是为了简化页面的复杂性,因为很多事情都是重复的。

标签: asp.net user-controls


【解决方案1】:

用户控件通过Page属性保持对容器页面的引用。

因此,在您的用户控制代码中,您可以执行以下操作:

var resultFromPageMethod=((yourPageType)this.Page).APageMethod();

【讨论】:

  • 页面 = 用户控制?你的页面类型 = ???上面的代码在哪里?在用户控件内部?
  • 在用户控制代码中。 youPageType 是你的页面的类名(后面的代码)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多