【问题标题】:Asp .Net usercontrol referencing other usercontrol from markupAsp .Net 用户控件从标记中引用其他用户控件
【发布时间】:2012-03-13 18:29:43
【问题描述】:

我正在寻找一种方法来传递用户控件的标记,即对页面中存在的其他用户控件的引用。此时我正在使用带有控件名称的字符串属性来执行此操作,并且在代码隐藏中我使用 FindControl 来获取它,这样:

  <uc2:ctlMyControl ID="MyControl1" runat="server"
       ReferencedControl="TheIdOfOtherControlInThePage"  />  

在服务器端:

  public string mvarReferencedControl= "";
  public string ReferencedControl {
    get
    {
        return mvarReferencedControl;
    }
    set
    {
        mvarReferencedControl = value;
    }
  }

我想知道是否有更好的方法来做到这一点,不是传递带有控件名称的字符串,而是传递控件本身在“控件”属性中,所以我直接引用了控件和避免执行 FindControl。

【问题讨论】:

  • 究竟想要达到什么目的?>
  • 当你想在标记中设置它时不是,因为它必须是可序列化的。但除此之外没问题。您始终可以在属性中返回对 UserControl/Page 的另一个控件的引用。
  • 那么你认为使用户控件可序列化是可以实现的吗,蒂姆?

标签: asp.net user-controls properties markup


【解决方案1】:

在页面后面的代码中这样做有什么问题?

((MyControl)MyControl1).ReferenceControl = theOtherControl;

【讨论】:

  • 我假设 OP 想要定义他想要通过标记引用的控件。
  • 是的,我知道它可以在后面的代码中完成,但我正在寻找一种在标记中完成它的方法。无论如何,谢谢你的想法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-17
  • 1970-01-01
相关资源
最近更新 更多