繁体   English   中英

ASP生命周期,InnerHtml和动态控件

[英]ASP Life-Cycle, InnerHtml and Dynamic Controls

首先-如果您要简短的问题,请向下滚动直到看到问题:

好的,过去一年左右,关于动态控件的各种场景存在很多问题-也就是说,这些控件是通过JavaScript或C#以编程方式创建的,然后添加到了aspx页面中。 在我的工作场所中添加动态控件的一种看似最喜欢的方法似乎是以下几种变化:-

ASPX

<div id='divExample'>

的JavaScript

document.getElementById('divExample').innerHTML = "some random html code and controls here"

现在,在过去的一年中,我们也一直在努力将Web应用程序从IE转变为与跨浏览器兼容-着重于Safari的启动和运行。...与动态相关的很多问题浮出水面。控件。 我的资深开发人员坚持认为,无需对有关给我们带来问题的动态控件的呈现方式进行重大重新编码。

当然,经过一些研究后,我几乎得出了ASP生命周期,而且事实是,在执行Page_Load方法之前,我相信必须在每次回发中重新创建动态控件。 因此,我已经通过一些相当费力的控件重新编码来解决了大多数问题-将初始化移至Page_PreLoad方法,并更改了许多JavaScript“ innerHTML ='纯HTML的字符串等”渲染为基于C#对象的初始化。

现在,无论我在某些方面是否错了,我都知道这已经奏效并解决了我的问题。 现在,这个帖子的关键是我一直在努力得到确切的实际推理此整理出来,我相信它是与渲染元素的innerHTML的协调,但没有搜索量已能告诉我什么时候正是这种将在ASP页面生命周期中发生。 我的资深IS会问为什么再次有必要,我毫不怀疑-即使不用说他所有的想法都行不通了...

...

抱歉,华夫饼干简而言之:-

问题:在ASP生命周期中的什么时候呈现元素的innerHTML?这对于以这种方式呈现的控件附带的事件有什么后果?正确的处理方式是什么?

任何输入表示赞赏,感谢您的阅读。

javascript innerHtml属性将在ASP.net生命周期完成后呈现,因为它发生在服务器端。 因此,它对生命周期内的C#代码没有影响。

关于回发,请将回发视为一个全新的请求-在所有服务器端事件完成后,将需要重新生成控件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM