2014-09-02 39 views
0

我在我的項目中有2個Response.Write的例子。在Firefox中都可以正常工作,但在IE中,頁面寬度會發生變化。Response.Write在外觀上造成奇怪的變化

實施例1:

Response.Write(String.Format("<script>window.open('{0}','_blank')</script>", ResolveUrl(urlSearch))); 

實施例2:

const string strResponse = "window.open('NewOrderAdd.aspx?RequestType=Modify','_blank')"; 
Response.Write("<script>"); 
Response.Write(strResponse); 
Response.Write("</script>"); 
+0

'type'屬性在HTML4中不是可選的,所以如果你的文檔類型不是HTML5,我會首先嚐試在標籤中添加'type =「type =」text/javascript「'(這當然只是猜測)。另外,請確保它沒有添加到一個有趣的地方(例如,在關閉''標籤之後)。在線[W3C HTML驗證器](http://validator.w3.org/)服務可能幫助您識別這些非-conformities。 – Groo 2014-09-02 09:19:30

回答

1

最有可能這樣做導致頁面不符合HTML規範,和因此導致IE切換到一個不同的網頁呈現模型(較老的IE /怪癖)。確保代碼實際上是在允許的地方發出 - 只需使用RegisterStartupScriptLiteral控件而不是Response.Write