-2

现在我正在开发一个需要 Ajax 的 ASP.NET Web 应用程序。阅读本教程后,我尝试在 Visual Studio 2005 中运行以下代码,然后通过右键单击工具箱并单击“选择项目...”添加必要的控件:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<%@ Register Assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    Namespace="System.Web.UI" TagPrefix="asp" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server"/>

        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
                <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
            </ContentTemplate>
        </asp:UpdatePanel>
    </form>
</body>
</html>

protected void Button1_Click(object sender, EventArgs e)
{
    Label1.Text += "<br/>" + DateTime.Now.ToString();
}

但由于某种原因,该页面无法使用 Ajax。当我单击按钮时,页面刷新并显示带有更新值的标签。我找不到此代码有任何问题,因此我尝试在 Visual Studio 2010 中打开相同的项目并运行它。这次成功了!(标签用当前日期更新,没有刷新页面)

什么会阻止此代码在 Visual Studio 2005 中工作?

谢谢, 伊塔马尔

4

3 回答 3

0

可能是您的UpdatePanel 的 UpdateMode设置为conditional您必须指定一个trigger.

或者,您可以将属性定义ChildrenAsTriggerstrue.

请参阅http://msdn.microsoft.com/en-us/library/system.web.ui.updatepanel.updatemode.aspx

而且我在你的页面顶部没有找到任何寄存器?你有吗?如果没有尝试添加这个

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
于 2012-05-02T15:13:07.057 回答
0

我相信在 VS 2005 中对 AJAX 的支持是有限的。尝试使用ToolkitScriptManager,看看是否有帮助。

<cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" EnablePartialRendering="true"></cc1:ToolkitScriptManager>   
于 2012-05-02T15:30:01.087 回答
0

4GuysFromRolla 指出 Visual Studio 2005 的目标是 2.0 .NET 应用程序,这可以解释为什么 v3.5 的 AJAX 程序集不起作用 (http://www.4guysfromrolla.com/articles/112107-1.aspx)。但查尔斯·杨反驳了这一点(http://geekswithblogs.net/cyoung/archive/2007/12/01/117279.aspx)。

于 2012-05-02T15:17:30.117 回答