2012-05-02 3 views
-2

지금은 Ajax를 필요로하는 ASP.NET 웹 응용 프로그램을 만들고 있습니다. this tutorial을 읽은 후 나는 도구 상자를 마우스 오른쪽 버튼으로 클릭하고 클릭하여이 켜지지 컨트롤을 추가 한 후 Visual Studio 2005에서 다음 코드를 실행 시도 "항목 선택 ..."동일한 코드가 VS 2010에서 작동하지만 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에서이 코드가 작동하지 않도록 할 수있는 기능은 무엇입니까?

덕분에, 이타 마르

+0

이 질문에 이상이있는 경우 의견을 보내 주시면 알려주세요. –

답변

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" %> 
+0

'ChildrenAsTriggers = "True"'또는'UpdateMode = "Always"'를 추가해도 아무 것도 변경되지 않았습니다. –

+0

대답이 업데이트되었습니다. – coder

+0

해당 레지스터를 추가하면 빌드 할 수 없습니다. _Error 1 파일 또는 어셈블리 'AjaxControlToolkit'또는 해당 종속성 중 하나를로드 할 수 없습니다. 지정한 파일을 찾을 수 없습니다.이 툴킷을 설치해야합니까? –

0

4GuysFromRolla 비주얼 스튜디오 2005를 대상으로한다고 추가하려고하지 않는 경우 2.0의 .NET 응용 프로그램에서 AJAX 어셈블리의 v3.5가 작동하지 않는 이유를 설명 할 수 있습니다 (http://www.4guysfromrolla.com/articles/112107-1.aspx). 그러나 Charles Young은 이것에 반대합니다 (http://geekswithblogs.net/cyoung/archive/2007/12/01/117279.aspx).

0

VS2005에서는 AJAX에 대한 지원이 제한적이라고 생각합니다. 대신 ToolkitScriptManager을 사용해보고 도움이되는지 확인하십시오.

+0

이 'ToolkitScriptManager'를 어떻게 추가합니까? .NET Framework 구성 요소 목록에서 찾을 수 없습니다. –

+0

AJAX Control Toolkit의 일부입니다. –

+0

그래, Toolkit을 설치하고 ScriptManager를 ToolkitScriptManager로 대체했습니다. 그러나 코드를 실행할 때 페이지는 여전히 새로 고쳐집니다. –

관련 문제