這一直使我瘋狂。我正在嘗試將一些遺留應用程序遷移到新服務器,並且在整個代碼中都存在很多document.all
問題。在舊服務器上工作的JavaScript代碼,但不是新的
在你說出來之前,我知道。請勿使用document.all
。它在那裏,我無能爲力......這個特殊的問題在程序集中有JavaScript,我沒有源代碼,也沒有權限重新開發。
我的主要困惑是當我在與我的遷移版本相同的瀏覽器中測試時,當前版本的應用程序正在工作。這是一個直接的複製和粘貼作業,遷移過程中沒有任何代碼改變,但是當我在新服務器上運行應用程序時,總是返回空值。
IIS或更新的.NET框架以某種方式處理客戶端腳本的方式不同嗎?
我從.NET 2.0託管的Windows Server 2005的到來與IIS 6,並且要.NET 4.0託管在Windows Server 2012上的IIS 8
我在尋找任何想法,爲什麼這些會在同一瀏覽器中測試時被不同地表現
UPDATE: 用戶控制由document.all
目標是越來越編碼被搞亂了控制的ID,即,應當什麼'elementId'
被輸出爲'elementId'
a中的代碼組件正在使用包含單引號的Attributes.Add。我發現了一些建議的來源一個新的類,如:
public class HtmlAttributeEncodingNot : System.Web.Util.HttpEncoder
{
protected override void HtmlAttributeEncode(string value, System.IO.TextWriter output)
{
output.Write(value);
}
}
添加這將使編碼通過在web.config使用<httpRuntime encoderType="HtmlAttributeEncodingNot"/>
被關閉,但我不能夠添加新的類這個項目
檢查如何在頁面頂部聲明「DOCTYPE」 – Aristos
它設置爲「<!DOCTYPE HTML PUBLIC」 - // W3C // DTD HTML 4.0 Transitional // EN「>' – McFixit
可能這有助於: http://stackoverflow.com/questions/6488579/firefox-error-document-all-is-undefined-webuivalidation-js –