使用Microsoft Ajax控件的错误

时间:2010-02-08 22:48:25

标签: c# ajax asp.net-ajax

我正在尝试将TextBoxWatermarkExtender控件添加到我的ASP.NET 3.5 Web应用程序中。我按照Microsoft提供的教程http://www.asp.net/learn/Ajax-Control-Toolkit/tutorial-47-cs.aspx,然后添加了我想要的控件。我的代码如下所示:

<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页面,所以我不知道是否会发生这种情况。

2 个答案:

答案 0 :(得分:1)

http://ajaxcontroltoolkit.codeplex.com上有两个不同版本的ajaxcontroltoolkit。

对于此示例,您需要下载页面底部的“原始Ajax控件工具包”。

答案 1 :(得分:1)

经过多次挖掘和研究,我发现了它!我只需将此代码添加到我的global.asax:

routes.Add(new Route(“{resource} .axd / {* pathInfo}”,new StopRoutingHandler()));

我在http://msdn.microsoft.com/en-us/library/cc668201.aspx找到答案。它并没有真正解释它,但在做了一些挖掘后,我意识到我的问题是什么。它正在替换我的webresource.axd文件中的代码,该文件由IIS7生成,我的默认未找到页面NotFound.aspx。虽然上面的代码似乎打破了它实际上通过阻止链接代码被覆盖来修复它