2013-09-04 3 views
2

Rad Ajax를 실험하고 실험하려고합니다. 두 개의 버튼과 두 개의 이벤트를 만들었습니다. 첫 번째 버튼은 Lable1의 텍스트를 Hi로 변경하고 두 번째 버튼은 전체 페이지를로드하지 않고 Label2를 Bye로 변경합니다.RadAjaxManager가 asp.net의 패널에서 작동하지 않습니다.

다음은 코드입니다. 코드 뒤에

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> 
<AjaxSettings> 
<telerik:AjaxSetting AjaxControlID="Button1"> 
<UpdatedControls> 
    <telerik:AjaxUpdatedControl ControlID="Panel1" /> 
    <telerik:AjaxUpdatedControl ControlID="Label1" /> 
</UpdatedControls> 
</telerik:AjaxSetting> 
<telerik:AjaxSetting AjaxControlID="Button2"> 
<UpdatedControls> 
    <telerik:AjaxUpdatedControl ControlID="Panel1" /> 
    <telerik:AjaxUpdatedControl ControlID="Label1" /> 
</UpdatedControls> 
</telerik:AjaxSetting> 
</AjaxSettings> 
</telerik:RadAjaxManager> 
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Hi" 
Width="41px" /> 
<asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="Bye" /> 
<br /> 
<asp:Panel ID="Panel1" runat="server"> 
<asp:Label ID="Label1" runat="server" Text="Label1"></asp:Label> 
</asp:Panel> 
<asp:Panel ID="Panel2" runat="server"> 
    <asp:Label ID="Label2" runat="server" Text="Label2"></asp:Label> 
</asp:Panel> 

:

protected void Page_Load(object sender, EventArgs e) 
    { 
     if(IsPostBack) 
     Response.Write("Page Loaded"); 
    } 

    protected void Button1_Click(object sender, EventArgs e) 
    { 
     Label1.Text = "Hi"; 

    } 

    protected void Button2_Click(object sender, EventArgs e) 
    { 
     Label2.Text = "Bye"; 
    } 

이 코드는 RadAjax없이 완벽하게 작동하지만 내가 페이지를로드하지 않고 필요한 경우에만을 Label1 및 Label2이를 업데이트 할 라드 아약스를 구현하고자합니다.

누군가이 문제에 도움을 주시겠습니까?

감사합니다.

답변

1

ASP.NET Ajax를 사용할 때 응답 개체를 사용할 수 없습니다.

또한 UpdatedControls 태그에 오타가 있습니다 (주석 참조).

protected void Page_Load(object sender, EventArgs e) 
{ 
    // You cannot have Response.Write here. 
} 

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> 
    <AjaxSettings> 
     <telerik:AjaxSetting AjaxControlID="Button1"> 
      <UpdatedControls> 
       <telerik:AjaxUpdatedControl ControlID="Panel1" /> 
       <telerik:AjaxUpdatedControl ControlID="Label1" /> 
      </UpdatedControls> 
     </telerik:AjaxSetting> 
     <telerik:AjaxSetting AjaxControlID="Button2"> 
      <UpdatedControls> 
       <%-- Must be Panel2 and Label2 --%> 
       <telerik:AjaxUpdatedControl ControlID="Panel2" /> 
       <telerik:AjaxUpdatedControl ControlID="Label2" /> 
      </UpdatedControls> 
     </telerik:AjaxSetting> 
    </AjaxSettings> 
</telerik:RadAjaxManager> 
+0

페이지로드시 응답 개체를 사용할 수없는 이유는 무엇입니까? Rad Ajax 관리자가 포스트 백을 실행하는지 확인하고 싶습니다. 어떻게 내가 그걸 확인할 수 있니? – Huzaifa

+1

잘 알려진 문제입니다. [그것이 무엇이고 그것을 피하는 방법] (http://weblogs.asp.net/leftslipper/archive/2007/02/26/sys-webforms-pagerequestmanagerparsererrorexception-what-it-is-and-how-to-avoid -it.aspx) Response.Write 대신 Label 컨트롤을 사용할 수 있습니다. *** 참고 : *** 레이블 컨트롤을 UpdatedControls 태그 안에 포함해야합니다. – Win

+0

오셨습니까? 감사합니다. – Huzaifa