SharePoint 2007 母版頁添加ScriptManager報錯解決

按照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" %>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章