假设,在我创建此控件的页面(WebForms)的Page_Load()上:
HtmlGenericControl optionBox = new HtmlGenericControl("div");
optionBox.Attributes["class"] = "class_1";
然后,用户将使用LinkButton调用该页面。在从这个按钮调用的方法上,我改变了我之前div的类:
protected void cmdCerca_Click(object sender, EventArgs e)
{
...
div.Attributes.Add("class", "class_2");
...
}
好吧,如果我观察渲染的结果,我会看到div的类已被更改。
这意味着,在下一次调用此页面时(从此上下文中调用cmdCerca_2_Click
的示例),将从View中恢复该对象,获取class_2
,而不是class_1
但是,如果在cmdCerca_Click
的末尾,我使用Response.Redirect()
调用同一页面,则不会发生这种情况。似乎视图将丢失。
为什么呢?我该如何解决?
希望问题很明确。
答案 0 :(得分:2)
您需要在页面init事件中添加控件,而不是加载,以便将它们放入控件树中。
您必须在每次回发时重新创建此控件吗?在这种情况下,每次都会设置默认类。