可能看起来像是一个愚蠢的标题,因为如果你想维护的话,不应该在页面初始化后添加动态控件。
ViewState
但是我想不出更好的方法来解释这个问题。
我有一个类似以下的班级:
public class WebCustomForm : WebControl, IScriptControl
{
internal CustomRender Content
{
get
{
object content = this.Page.Session[this.SESSION_CONTENT_TRACKER];
return content as CustomRender;
}
private set
{
this.Page.Session[this.SESSION_CONTENT_TRACKER] = value;
}
}
}
CustomRender
是一个抽象类,它实现了用于自包含正在编写中的customforms模块的itemplate。
上
Page_Init
包含
WebCustomForm
,我通过将相关ID传递给控件来初始化该控件。然后在重写
OnInit
方法
WebCuffic表单
我调用上的实例化
定制渲染
当前活动的控件:
if (this.Content != null)
{
this.Content.InstantiateIn(this);
}
问题是我的
定制渲染
控件需要能够更改
定制渲染
控制
WebCuffic表单
. 但是,当在customrender上触发的事件触发时,page_init事件显然已经关闭。所以,我的问题是,如何更改
WebCuffic表单
从动态添加的控件?
在我看来,我有三个选择:
-
我分开
定制渲染
控制
独立自主
控制,基本上有一个ASPX
按控件分页并处理
页面上的事件(尽管
我只是想控制一下
我翻页忘了)
-
我不使用活动,只保留
请求当前页,但
具有不同的请求参数
-
我回到画板上
有更好的建议吗
给我。