按照
SharePoint Team Bolg
的文章,文章中建議你們將
<ScriptManager>
放置到母版頁中,緣由是若是動態添加,有時並不能保證在頁面生命週期中比依賴他的控件更早的添加到頁面中,並且有時代碼若是編寫的很差會形成頁面中出現多個
<ScriptManager>
實例,這對於
AJAX
技術來講是錯誤的,一個頁面上僅能存在一個支持
AJAX
技術的
<ScriptManager>
。因此建議將
<ScriptManager>
放置在母版頁中,而不是在代碼中來動態加載它。
這篇文章裏面建議在頁面的
<WebPartPages:SPWebPartManager id="m" runat="Server" />
標籤下添加
<ScriptManager>
,我使用發佈網站模板建立的網站,結果按照作以後發現是錯誤的,頁面報錯,仔細觀察後發現,
SPWebPartManager
放置在了
<form>
標籤以外,不是表單中的內容,我懷疑是這裏的問題,便將
<asp:ScriptManager runat="server" ID="ScriptManager1"></asp:ScriptManager>
添加到了
<form>
標籤以內,刷新頁面,錯誤解決。
這裏也有一個須要注意的地方,在更換母版頁的時候千萬記得加上
<asp:ScriptManager runat="server" ID="ScriptManager1"></asp:ScriptManager>
default.master
的
<WebPartPages:SPWebPartManager id="m" runat="Server" />
確實出如今了
<form>
標籤內,
BlueBand.master
卻不是。
繼續說另一個問題,就是文章裏面提到直接添加這個
<ScriptManager>
標籤,可是實際上這是不行的,咱們須要在頁面上引入對應的組件和命名空間,組件
System.Web.Extensions
已經在
web.config
中添加過了,因此這裏只須要引入命名空間便可,若是不引用的話頁面會識別不出
<ScriptManager>
而報錯。
在頁面
<html>
上面加入以下命名空間
<%@ Register TagPrefix="asp" Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" %>