-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

4GuysFromRollaは、Visual Studio2005が2.0.NETアプリを対象としていることを示しています。これは、AJAXアセンブリのv3.5が機能しない理由を説明している可能性があります(http://www.4guysfromrolla.com/articles/112107-1.aspx)。しかし、チャールズ・ヤングはこれと矛盾しています(http://geekswithblogs.net/cyoung/archive/2007/12/01/117279.aspx)。

于 2012-05-02T15:17:30.117 に答える
0

AJAXのサポートはVS2005で制限されていたToolkitScriptManagerと思います。代わりに使用してみて、それが役立つかどうかを確認してください。

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

UpdatePanelの UpdateModeが に設定されconditionalている可能性がありますtrigger

または、プロパティChildrenAsTriggersを に定義することもできますtrue

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 に答える