日期:2014-05-18  浏览次数:20431 次

JS使div层移位的问题,急.100分全送上!
前台.aspx页面是用DIV+CSS做的,一切没问题.
我在CS代码中做了一个判断,如果为真我直接:
string   js   =   " <Script   language= 'JavaScript '> alert( '输入成功! '); </Script> ";
Response.Write(js);
此时能弹出一个警告窗口,但我的页面却大乱,所有正常的层全乱了,看了一下源代码发现源文件的第一行写着 " <Script   language= 'JavaScript '> alert( '输入成功! '); </Script> ",而且是在 <html> 之前.有人遇到过这个问题吗?怎么解决.马上就给分.

------解决方案--------------------
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), " ", " <script> alert( 'sadfasd ') </script> ");
用这个试试。
------解决方案--------------------
lz,这个语句Response.Write(js);是放到Page_Load()里面的吗,这样执行的话js被写的时候都是放到页面的最上面的
------解决方案--------------------
你可以使用这个方法Page.ClientScript.RegisterClientScriptBlock( "1 ",js);
或者Page.ClientScript.RegisterClientScriptBlock( "1 ",js);
主要区别在于,RegisterStartupScript 方法是将 JavaScript 嵌入到 ASP.NET 页面的底部,恰好位于关闭元素 </form> 的前面。RegisterClientScriptBlock 方法是将 JavaScript 嵌入到页面中开启元素 <form> 的紧后面。


------解决方案--------------------
用RegisterStartupScript方法就不会注册到 <html> 之前,而是最后面!!!
------解决方案--------------------
public void Alert(string str_Message,Page page)
{

page.ClientScript.RegisterStartupScript(this.GetType(), " ", " <script> alert( ' " + str_Message + " '); </script> ");

}

------解决方案--------------------
尽量不要用Response.Write输出脚本,微软也不推荐这样做,用Page.ClientScript.RegisterStartupScript吧.Response.Write会打乱页面的结构.