弹出窗口后,原窗口样式怎么变了? 我在一个aspx页面用Response.Write("<script language='javascript'>window.open('')</script>")格式弹出一个小窗口后,这个主窗口的样式显示就变化了(字体啊内容的位置啊什么的),但是再点击刷新一下,显示又正常了!这是怎么回事啊,怎样让弹出窗口后原来的窗口显示不受影响呢?急啊,多谢各位了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Response.Write(" <script language='javascript'>window.open('') </script>")你执行这个后,右击查看页面的源代码就知道了.因为上面这句会先于你的html代码前出现,故样式会变.你换成Page下的RegiterScriptBlock()注册个脚本吧[呃,这方法名忘记了,你查下就知道了] 这样写肯定会变因为这句话,输出到页面所有代码之前了(你查看一下页面源代码就明白了)实际做法,是pager.clientscript(", , , )类似这样的一个方法。具体名字和参数记不大清楚了,相信查一下帮助,就知道咋写了。 Page.Response.Write("<script>var response;</script>"); Page.RegisterStartupScript("RegisterStartupScript","<script>var RegisterStartupScript;</script>"); Page.RegisterClientScriptBlock("RegisterClientScriptBlock","<script>var RegisterClientScriptBlock;</script>"); Response.Write输出后的位置在源文件的第一行. RegisterClientScriptBlock输出后的位置会在<form>的下一行.(在asp.net自带的脚本和一些隐藏域之下). RegisterStartupScript输出后的位置会在</form>的上一行.RegisterClientScriptBlock的原型与RegisterStartupScript相同,两个函数不同在于将其包含的脚本代码写入到HTML文件的不同位置.RegisterClientScriptBlock在 Page 对象的 元素的开始标记后立即发出客户端脚本,RegisterStartupScript则是在Page 对象的 元素的结束标记之前发出该脚本。如果你的脚本有与页面对象(doucument对象)进行交互的语句,则推荐使用RegisterStartupScript,反之如果要想客户端脚本尽可能早的执行,则可以使用RegisterClientScriptBlock或Response.Write。RegisterClientScriptBlock一般返回的是客户端函数的包装,而RegisterStartupScript返回得函数在document装载完成后会执行,类似于我们平时所说的body onload="f()"里面的函数;这两个方法在客户端呈现的代码位置不同,RegisterClientScriptBlock在<form runat=server>之后,而RegisterStartupScript在</form>之前。 Page.RegisterStartupScript("open", "<script>window.open('ForestPubContent.aspx');</script>"); asp与asp.net 提问 一棵树的故事 (再续) |zyciis| RenderControl 出错 一页只能有一个服务器端 Form 标记。 谢谢 急 百分求一条SQL语句 datagrid框架间传值问题,本人初学,语言是vb.net,高手来帮帮忙啊! JS 获取页面地址的问题 为什么插入了两个服务器文本框控件,出来以后两个框长度不一样 请问,写控件的问题! 产品数量等于1,大于1,分别对应两个超链接! 菜鸟问题,gridview获得当前选中的列。 AutoComplete 控件使用,急急急在线等
因为上面这句会先于你的html代码前出现,故样式会变.你换成Page下的RegiterScriptBlock()注册个脚本吧[呃,这方法名忘记了,你查下就知道了]
实际做法,是pager.clientscript(", , , )
类似这样的一个方法。具体名字和参数记不大清楚了,相信查一下帮助,就知道咋写了。
Page.RegisterStartupScript("RegisterStartupScript","<script>var RegisterStartupScript;</script>"); Page.RegisterClientScriptBlock("RegisterClientScriptBlock","<script>var RegisterClientScriptBlock;</script>"); Response.Write输出后的位置在源文件的第一行. RegisterClientScriptBlock输出后的位置会在<form>的下一行.(在asp.net自带的脚本和一些隐藏域之下). RegisterStartupScript输出后的位置会在</form>的上一行.RegisterClientScriptBlock的原型与RegisterStartupScript相同,两个函数不同在于将其包含的脚本代码写入到HTML文件的不同位置.RegisterClientScriptBlock在 Page 对象的 元素的开始标记后立即发出客户端脚本,RegisterStartupScript则是在Page 对象的 元素的结束标记之前发出该脚本。如果你的脚本有与页面对象(doucument对象)进行交互的语句,则推荐使用RegisterStartupScript,反之如果要想客户端脚本尽可能早的执行,则可以使用RegisterClientScriptBlock或Response.Write。RegisterClientScriptBlock一般返回的是客户端函数的包装,而RegisterStartupScript返回得函数在document装载完成后会执行,类似于我们平时所说的body onload="f()"里面的函数;这两个方法在客户端呈现的代码位置不同,RegisterClientScriptBlock在<form runat=server>之后,而RegisterStartupScript在</form>之前。