lilongsoft 发表于 2013-2-4 22:14:19

RegisterStartupScript与动态创建DOM问题.

今天做项目时遇到问题:
    一.DOM在动态创建的时候,如果</form>还没加载完就有动态创建DOM(如果没有新增或删除就不会存在这样的问题)这样就会使页面无法运行.解决的办法是在</form>后再写创建的语句或写到Page的onload里.
    可RegisterStartupScript在页面中注册的脚本是放到</form>的前面的,这样的问题怎么解决呢.
    使用Page.RegisterStartupScript("LLH","<script   for= 'window'   event= 'onload'>CreateDivLLH();initAjaxDropdown('LLHLayer','i1')</script>");这样就能解决了.

    二.另外,在js中得用escape()对url中的中文参数进行编吗,而在C#中如何解吗呢?

js
var conditionnum=escape(event.srcElement.value);
var url = 'WebForm2.aspx?condition='+conditionnum;
C#
HttpUtility.UrlDecode(Request.QueryString["condition"])

    三attachEvent对于body的onload是无效的.一般对于window有效
    Page.RegisterStartupScript("dd"+this.ClientID+"","<script>window.attachEven('onload',Start"+this.ClientID+");</script>");
页: [1]
查看完整版本: RegisterStartupScript与动态创建DOM问题.