【问题标题】:How to get the value of usercontrol in codebehind of page如何在页面的代码隐藏中获取用户控件的值
【发布时间】:2012-07-13 20:23:04
【问题描述】:

如何获取用户控件的值给持有用户控件的页面?

【问题讨论】:

  • 为什么要编辑掉问题中真正有意义的部分?你不想回答吗?

标签: c# asp.net


【解决方案1】:

如果我理解正确,问题是您试图在承载用户控件的页面的 page_load 中访问用户控件的 StudentId 属性?

如果是这种情况,很可能您只是在用户控件触发下拉列表上的 SelectedIndexChanged 事件之前尝试读取数据。

最简单的解决方案是将读取属性的代码移至 Page_PreRender 事件。此事件发生在页面生命周期的后期,并且在所有用户事件都有机会触发之后。

作为替代方案,您可以在用户控件中公开自己的事件(我将其称为“UserControlDropDownChanged”),并让 SelectedIndexChanged 事件处理程序中的代码触发用户控件的 UserControlDropDownChanged 事件。在您的页面中,在 page_load 或 page_init 期间,您将注册一个事件处理程序以从用户控件侦听 UserControlDropDownChanged ......并在该事件处理程序中执行下拉列表值更改时所需的任何功能。

如果您不熟悉这种技术,我会以这种方式提供example of how to use events 来回答关于 SO 的另一个问题。

【讨论】:

    【解决方案2】:

    您需要将此值公开为用户控件的公共属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-27
      • 2016-05-30
      • 1970-01-01
      • 1970-01-01
      • 2010-09-10
      • 2014-04-01
      • 1970-01-01
      • 2013-03-17
      相关资源
      最近更新 更多