【问题标题】:How to Pass Property Value to Usercontrol如何将属性值传递给用户控件
【发布时间】:2009-09-07 14:58:15
【问题描述】:

我已经创建了一个 aspx 页面,我需要从中访问 Usercontrol 的属性。

注意:用户控件未在页面中注册,它是使用 Loadcontrol 动态加载的。

即使我在输入用户控件的精确类名时也感到疑惑,但它无法解决。 那么我如何为用户控制创建对象..而不访问公共类 你能帮帮我吗?

提前致谢。

【问题讨论】:

    标签: asp.net user-controls


    【解决方案1】:
    Control c = LoadControl("~/Sample.ascx");
    form1.Controls.Add(c);
    

    编辑: 可以使用注册用户控件的类名,

    <%@ Register src="Sample.ascx" tagname="Sample" tagprefix="uc1" %>
    

    代码:

    Sample c =(Sample) LoadControl("~/Sample.ascx");
    c.SomeProperty="value";
    form1.Controls.Add(c);
    

    【讨论】:

    • 我不想在aspx页面中注册,以减少页面过载,帮助?
    • 你应该计划创建一个自定义控件。
    【解决方案2】:

    请参阅以下设计自定义控件的链接

    http://msdn.microsoft.com/en-us/library/zt27tfhy.aspx

    或者,如果您不想在 aspx 页面中注册,您可以在 web.config 中全局注册

    <system.web>
        <pages>
          <controls>
            <add assembly="My.Web.Controls"
                    namespace="My.Web.Controls"
                    tagPrefix="st" />
            <add src="~/Controls/MyControl.ascx"
                    tagName="UserControl"
                    tagPrefix="uc" />
          </controls>
        </pages>
    </system.web>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-14
      • 2012-12-27
      • 2017-02-28
      • 1970-01-01
      • 1970-01-01
      • 2010-09-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多