2010-02-08 35 views
2

我正在嘗試將TextBoxWatermarkExtender控件添加到我的ASP.NET 3.5 Web應用程序中。我遵循微軟在這裏提供的教程http://www.asp.net/learn/Ajax-Control-Toolkit/tutorial-47-cs.aspx,然後添加到我想要的控件中。我的代碼如下所示:使用Microsoft Ajax控件的錯誤

<asp:TextBox ID="txtEmailAddress" runat="server" Width="130px"></asp:TextBox> 
<cc1:TextBoxWatermarkExtender ID="tbweEmailAddtess" runat="server" TargetControlID="txtEmailAddress" WatermarkText="Email Address"> 
</cc1:TextBoxWatermarkExtender> 

<asp:ScriptManager ID="smScripts" runat="server" />還添加了作爲第一個標籤我<form>標記之後。

該代碼編譯並不會拋出任何導致頁面無法加載的錯誤。儘管我在頁面上收到了一些JavaScript錯誤。

所以經過一些更多的研究,看着這個錯誤,這是我發現的。如果我刪除textextender,但保持<asp:ScriptManager ID="smScripts" runat="server" />在我的頁面內我仍然收到錯誤。它們是: 這一個是在頁面:

//<![CDATA[ 
Sys.Application.initialize(); 
//]]> 

這一個是的ScriptResource.axd和我收到的2倍。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

而且,我使用URL重寫,但是這是我的Default.aspx頁面,所以我不知道這是否發揮到它。

+0

可以發佈有關從WebResource和ScriptResource接收到的錯誤的一些詳細信息嗎? – 2010-02-09 00:55:46

回答

1

經過大量的挖掘和研究,我發現了它!我只需將此代碼添加到我的global.asax中:

routes.Add(new Route(「{resource} .axd/{* pathInfo}」,new StopRoutingHandler()));我的答案是http://msdn.microsoft.com/en-us/library/cc668201.aspx。它沒有真正解釋它,但經過一番挖掘,我意識到我的問題是什麼。它是用我的默認未找到的頁面NotFound.aspx替換我的webresource.axd文件中由IIS7生成的代碼。雖然上面的代碼似乎打破了事實,但它實際上通過停止鏈接的代碼被覆蓋來修復它。

1

http://ajaxcontroltoolkit.codeplex.com上有2個不同版本的ajaxcontroltoolkit。

對於此示例,您需要下載頁面底部的「原始Ajax控件工具包」。

+0

這是我下載的那個。我檢查了DLL上的版本,它是3.0.30930.28736。 – 2010-02-09 14:16:37

+0

用ie developertools或firebug打開你的頁面,然後搜索腳本包含標籤。你可以打開這些網址嗎?我看起來像MicrosoftAjax.js無法加載。 – 2010-02-10 09:44:35