2010-12-01 4 views
0

페이지 메서드를 사용하여 함수를 호출하려고하는데 "PageMethods is undefinded"오류가 발생합니다. 나는 C#을 사용하는 반면에 VB를 사용하지 않으므로 사용했다. 그래서 내가 찾을 수있는 모든 예가 C# 인 것처럼 내 구문이 잘못되었는지 궁금하다. scriptmanager가 마스터 페이지에 있기 때문에 내가 궁금해하니?Page throwing Undefined

나는이 오류에 대해 모든 곳에서 읽었지만 내가 가진 모든 것은 정확하다고 보입니다!

누구든지 내가 잘못하고있는 부분을 지적 할 수 있습니까?

감사합니다.

내 코드 :

뒤에

부 마스터 페이지

<form id="form1" runat="server"> 
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" EnablePageMethods="true" > 
</asp:ScriptManager> 
<div id="header">~~~~~ 

컨텐츠 페이지 HTML

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 
<script type="text/javascript"> 
     function selectZones(commaSeparatedList){ 
      PageMethods.Zones(commaSeparatedList); 
     } 
    </script> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="navigationPlaceHolder" runat="server"> 
</asp:Content> 
<asp:Content ID="Content3" ContentPlaceHolderID="ContentBodyPlaceHolder" runat="server"> 

<a href='' onclick='selectZones("blah,blah,blah"); return false;'>click here</a> 
</asp:Content> 
<asp:Content ID="Content4" ContentPlaceHolderID="functionsMenuPlaceHolder" runat="server"> 
</asp:Content> 

컨텐츠 페이지 코드

Imports System.Web.Services Public Class TestClass Inherits BaseClass Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load End Sub <WebMethod()> Protected Shared Sub Zones(ByVal zones As String) HttpContext.Current.Response.Write("test = " & zones) End Sub End Class 
+0

ScriptManager를 콘텐츠 페이지의 .aspx에 배치하십시오. 행운? –

+0

이것은 아무런 차이가 없었습니다. – Bex

+0

음 ... 디버깅의 다음 단계 : 새로운 .aspx 페이지 (마스터 페이지 없음)를 만들고 거기에 ScriptManager와 PageMethod를 놓습니다. 작동합니까? 보시다시피, 문제가 MasterManager에있는 ScriptManager로 있는지 확인하려고합니다. –

답변

0

마침내 해결했습니다. 스크립트 관리자 또는 그와 비슷한 작업을 수행 할 필요가 없습니다. 코드에서

내 방법은 뒤에있을 필요가 다음과 같이 공개는 이제 읽

<WebMethod()> 
Public Shared Sub Zones(ByVal zones As String) 
    HttpContext.Current.Response.Write("test = " & zones) 
End Sub 

이 필요 몰랐어요

.

1

스크립트 관리자의 스크립트가 실행되기 전에 "selectZones"메서드가 실행되는 문제가 있다고 생각합니다. 문서 준비 또는 이벤트에 전화를 걸고이 시간에 통화가 작동하는지 확인하는 것이 좋습니다. 스크립트는 클라이언트 브라우저에서 볼 때 실행되며 스크립트 관리자와 같이 다운로드하면 다른 스크립트가 나중에 페이지에서 실행됩니다.

+0

어떻게하면됩니까? 예를 들어 주시겠습니까? – Bex