有机会看到有网友在论坛上发出问题:
动态生成自定义控件ascx如何给ascx传值


在网页上的铵钮执行之后,动态加载的用户控件,如果没有处理好,会在子用户控件的铵钮被执行时抛弃。因此我们需要着重需要处理的关键点。
同相子用户控件在动态加载之后,它的状态也需要保持,不然在传值给另一个子用户控件时,也会被抛弃。
另一个关键点,就是子用户控件,怎样传值给另一个用户控件。

弄清楚技术关键点之后,一切都好办。
在网站上,创建一个网页Default.aspx,两个用户控件UcA.ascx和UcB.ascx
在Default.aspx:
动态生成自定义控件ascx如何给ascx传值


去UcA.aspx
动态生成自定义控件ascx如何给ascx传值


去UcB.aspx
动态生成自定义控件ascx如何给ascx传值


所有网页与用户控件的html代码均完成。
UcB.aspx.cs需要获取一个值,这个值是从哪里来,是网页,还是另一个用户控件,它不清楚。就如同小时候,问父母要钱,这钱是父母的,还是父母向人借的,我们都不必知道,只管要到钱即可。
Insus.NET在此,创建一个接口,接口有一个Set的属性。
动态生成自定义控件ascx如何给ascx传值


用户控件UcB.aspx.cs实作这个接口:
动态生成自定义控件ascx如何给ascx传值


去Default.aspx.cs写程序:
动态生成自定义控件ascx如何给ascx传值


上图中的ViewState是为了把动态加载的用户控件保留。
去UcA.ascx.cs:
动态生成自定义控件ascx如何给ascx传值


网页运行的执行的效果:
动态生成自定义控件ascx如何给ascx传值


相关文章:

  • 2022-12-23
  • 2021-07-29
  • 2022-12-23
  • 2022-12-23
  • 2022-03-06
  • 2022-12-23
猜你喜欢
  • 2021-11-24
  • 2021-09-06
  • 2022-12-23
  • 2022-02-02
  • 2021-10-11
  • 2021-08-31
  • 2021-08-28
相关资源
相似解决方案