代码之家  ›  专栏  ›  技术社区  ›  Ben Hoffman

使用Microsoft Ajax控件时出错

  •  2
  • Ben Hoffman  · 技术社区  · 16 年前

    我正在尝试将TextBoxWatermarkExtender控件添加到我的ASP.NET 3.5 web应用程序中。我在这里遵循了Microsoft supplies教程 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> 标签。

    所以,经过更多的研究,看看这些错误,这就是我发现的。如果我删除textextender但保留 <asp:ScriptManager ID=“smScripts”runat=“server”/> 在我的页面中,我仍然收到错误。他们是: 这一个在页面中:

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

    这个在scriptresource.axd中,我收到了两次。

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

    此外,我正在使用URL重写,但这是我的默认.aspx页面,所以我不知道这是否会影响它。

    2 回复  |  直到 16 年前
        1
  •  1
  •   Michael Piendl    16 年前

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

        2
  •  1
  •   Ben Hoffman    16 年前

    经过大量的挖掘和研究,我终于找到了答案!我只需将此代码添加到我的global.asax:

    Add(新路由({resource}.axd/{*pathInfo}),新StopRoutingHandler());

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