如何将控件的值从子控件获取到.NET中父控件的属性中?

如何将控件的值从子控件获取到.NET中父控件的属性中?,.net,asp.net,webforms,.net,Asp.net,Webforms,我有一个表单,它有几个类似的控件,父控件包含属性,但子控件实际上有html控件。如何使用父类中的“子”控件设置getter/setter?(网络表单-供参考) 我通过搜索找到了下面的,我要找的是相反的 编辑: 我早就应该试着这么做,但我发现解释这种疯狂的情况很“有趣”。以下是100%有效的方法 Get Return DirectCast(Page.FindControl("lblCASE_NUMBER"), HtmlContainerControl).InnerHtml End Get

我有一个表单,它有几个类似的控件,父控件包含属性,但子控件实际上有html控件。如何使用父类中的“子”控件设置getter/setter?(网络表单-供参考)

我通过搜索找到了下面的,我要找的是相反的

编辑:

我早就应该试着这么做,但我发现解释这种疯狂的情况很“有趣”。以下是100%有效的方法

Get
  Return DirectCast(Page.FindControl("lblCASE_NUMBER"), HtmlContainerControl).InnerHtml
End Get

如果我理解正确,那么您在另一个usercontrol(父)中有一个usercontrol(子)并且您需要从父控件中访问子属性


如果这是正确的,那么您需要做的就是像在任何其他类中一样在子类中创建属性或方法。而不仅仅是从父级使用它们。

如果我理解正确,那么您在另一个usercontrol(父级)中有一个usercontrol(子级),您需要从父级中访问子属性


如果这是正确的,那么您需要做的就是像在任何其他类中一样在子类中创建属性或方法。而不仅仅是从家长那里使用它们。

跟进评论:

好的,如果我理解正确的话,您希望在usercontrols上有控件,但在父级上有代码(因为您不希望重复代码)

有两种方法可以做到这一点:

1-将代码放在父级,并在每个子级上创建属性,以便可以访问控件的值


2-创建一个抽象类来放置您不想复制的代码,并使您的所有孩子从中继承。您需要在此类中将公共对象创建为“受保护的抽象对象名”,并在您的孩子中将其设置为“受保护的覆盖对象名”。此选项将提供最少的代码来编写,但它“强制”您理解继承。

后续注释:

好的,如果我理解正确的话,您希望在usercontrols上有控件,但在父级上有代码(因为您不希望重复代码)

有两种方法可以做到这一点:

1-将代码放在父级,并在每个子级上创建属性,以便可以访问控件的值


2-创建一个抽象类来放置您不想复制的代码,并使您的所有孩子从中继承。您需要在此类中将公共对象创建为“受保护的抽象对象名”,并在您的孩子中将其设置为“受保护的覆盖对象名”。此选项将提供最少的代码来编写,但它“强制”您理解继承。

理解,我试图尽可能减少重复。。。是否可以只从父控件获取一些控件,然后让子控件呈现附加的html?当然-我正在使用ajax从服务器端生成html。我得到的所有表单都有相同的4个html控件,因此为了保持所有内容的干燥,我在父级中实现了视图接口的一个子集。然后,父对象为每个子对象执行所有“工作”,因为它的编码与自定义演示器中定义的“getbyid”和“update”方法的..例外相同。但是,当父级接收任何符合约定的演示者(父级演示者的接口)时,它可以在父级中进行调用(同样,子级中的代码为零),但仍然存在一个问题。。。如果父级可以定义属性,我不想将属性转储到每个表单中。在出现简单页面时,我只需要findcontrol。。。很抱歉让你参与进来,但我真的很感谢你的帮助!明白了,如果可能的话,我正在努力减少重复。。。是否可以只从父控件获取一些控件,然后让子控件呈现附加的html?当然-我正在使用ajax从服务器端生成html。我得到的所有表单都有相同的4个html控件,因此为了保持所有内容的干燥,我在父级中实现了视图接口的一个子集。然后,父对象为每个子对象执行所有“工作”,因为它的编码与自定义演示器中定义的“getbyid”和“update”方法的..例外相同。但是,当父级接收任何符合约定的演示者(父级演示者的接口)时,它可以在父级中进行调用(同样,子级中的代码为零),但仍然存在一个问题。。。如果父级可以定义属性,我不想将属性转储到每个表单中。在出现简单页面时,我只需要findcontrol。。。很抱歉让你参与进来,但我真的很感谢你的帮助!