第1步 我在页面上写了一个element (一个用于前台操作js,一个后台注册):
我在测试submodal
第2步 写js:
$(document).ready(function () { $("#Linktest").click(function () { showPopWin("About.aspx", 900, 600, null, true); }); });
///用于后台注册时调用 function set() { showPopWin("About.aspx", 900, 600, null, true); }
后台方法关键语句为:
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "test", "set()", true);
第三步:测试前台 调用showPopWin函数 然后逐步进入subModal.js中 先执行一个初始化函数initPopUp() 然后真正执行showPopWin()函数 一切正常
第四步:测试后台注册脚本 调用showPopWin函数 进入subModal.js中 直接进入showPopWin()函数 了 而没有进入初始化函数 结果当然是报错了 希望哪位给解释下
13 回答
慕娘9325324
TA贡献1783条经验 获得超4个赞
1. 要了解 浏览器解析的顺序,浏览器 解析是从上至下 来解析js,解析js是同步的,也就是说js 可以卡住页面。
2.this.Page.ClientScript.RegisterStartupScript 这个注册的js 是注册在哪个地方,和 你引用的js文件顺序很重要,因为浏览器解析js是按顺序的。
3. 光贴后台代码还不够,你要把 你这个页面生成html代码贴出来,就一目了然了。
红糖糍粑
TA贡献1815条经验 获得超6个赞
这个initPopUp函数 是在我调用的Scripts/ScriptByColin/subModal/subModal.js中的 我前台执行showPopWin()的时候 它会进这个js 先执行initPopUp函数 再执行showPopWin()函数 但是后台进去的话 初始化这个函数并没有执行 而是直接执行showPopWin()
潇湘沐
TA贡献1816条经验 获得超6个赞
经验证 不加标签是 htm生成代码为:
加标签 生成代码为:
//]]>
加了甚至报错 而且我写了这么长时间一直没加这个标签 我一般在response.write时候会加这个标签
呼啦一阵风
TA贡献1802条经验 获得超6个赞
@enpos:
我觉得应该是页面还没有加载完就执行了,这样看看
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "test", "window.onload=function(){set();}", true);
慕哥9229398
TA贡献1877条经验 获得超6个赞
@Rich.T: 我也觉得还是没有加载的问题 你的方法试了还是一样的 没办法了 改了下js文件 我在前台调用js中方法showPopWin时判断有没有初始化 没有初始化的时候 初始化下就好了 但是就是不知道问题所在
- 13 回答
- 0 关注
- 467 浏览
添加回答
举报
0/150
提交
取消