使用Asp.net ajax 的頁面中pageRequestManager為Null問題解決

初次在原有系統中使用Asp.Net AJAX調用WebService頁面總是提示pageRequestManager為Null,使用Html嗅探器調試后發現問題在于沒有自動注冊 MicrosoftAjaxWebForms.js文件,另寫了個例子運行并無問題,想了一下估計是Web.Config配置文件有錯了。
沒辦法,只能一段一段的查找原因,發現有一句 <xhtmlConformance mode="Legacy"/>將其刪除后腳本文件注冊正常了。
查找MSDN中有關xhtmlConformance配置節點說明
Value Description

Transitional

XHTML 1.0 Transitional

Strict

XHTML 1.0 Strict 一致性

Legacy

為了一致性,會將所做的一些呈現變更還原成 v1.1 的呈現行為。


也就是說因為以前VS.Net2003中因為有些控件的輸出語法不符合XHTML標準
<xhtmlConformance mode="Legacy"/>是為了兼容V1.1版而設置的,在從VS2003升級到VS2005后,為了保證原有頁面的正常運行增加了這個節 點,而Asp.net AJAX必須要求您的頁面語法必須符合XHTML標準,否則可能造成因開始標記,結束標記等不符原因而使得客戶端腳本無法獲知容器元素。

不過真的暈,干嘛一點相應的提示沒有啊,害得我將Web.Config刪了半天才知道。

posted @ 2009-03-13 17:18  Albert Wang  阅读(500)  评论(0编辑  收藏  举报