太消極了,後來上網查詢了一下,發現原來很多人都有遭遇到這種問題,也有前輩提出了解決方法以及問題點。
PostBack後CSS失效的原因
PostBack後CSS失效的原因由於asp.net 2.0 默認採用「http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd」定義,裡面有要求在「<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-ransitional.dtd">」的前面不可以以任何的輸出,不過當我們在程式碼中使用Response.write()方法來做輸出時,就會發生違反定義的情況,此時就會有CSS失效的異常現象發生。
解決方法
1.將要輸出的資料存到Literal中再將其新增至頁面來做輸出
Literal lt = new Literal();
lt.Text = "<scrupt>alert('Hellow World');</script>";
this.Page.Controls.Add(lt);
2.若是JavaScript Code 可以使用ClientScript輸出至標頭區
String sScript = "<scrupt>alert('Hellow World');</script>";
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "test", sScript);
沒有留言:
張貼留言