2009-12-24 2 views

답변

2

$.post jQuery를하여 AJAX 호출입니다. formpost과 아무 관련이 없습니다.

이 그런 다음 .aspx 페이지에 ScriptManager 컨트롤을 추가

[WebMethod] 
public static void HandleMyPost(string name, string time) 
{ 
    //do something 

} 

처럼 코드 숨김 뭔가를 만들고 EnablePageMethods="true"을 설정

당신은 당신이 시도하고있는 무슨 달성하기 위해 PageMethod를 사용할 수 있습니다.

는 그 코드가 작동해야

PageMethods.HandleMyPost(function() {}, "John", "2pm") 
+2

단순한 AJAX 게시물을 생성하기 위해 'PageMethods'와 같은 ASP.NET 관련 기술을 사용해야하는 사람이 없습니다. –

+0

이제 그는 현재 페이지에 새로운 페이지 요청을하고, PageMethod를 사용하는 것보다 훨씬 새로운 완전히 새로운 페이지주기를 수행하고 있습니다. PageMethods는 ASP.Net에서 AJAX 호출을 만드는 가장 쉬운 방법 일뿐 아니라'pagename.aspx/handlemypost /'를 사용하여 페이지를 호출하여 실제'jQuery.post'를 사용할 수 있습니다. 그래서 당신은 ASP.Net 아약스를 고수 할 필요가 없습니다. 이것은 구현하기 쉽고 편리한 솔루션입니다. –

+0

@Jan - 당신은 절대적으로 맞습니다. 나는 숲의 나무를 거기에서 놓쳤다. –

1

를 통해 (당신의 $.post 지금) 자바 스크립트에서 메서드를 호출합니다. 내가 가진 뒤에 여기에 내 코드에서

을 테스트하기 위해 무슨 짓을했는지 : 페이지에

protected void Page_Load(object sender, EventArgs e) 
{ 
    foreach (var key in Request.Form.AllKeys) 
    { 
     // do stuff here. 
    } 
} 

난이 :

<script type="text/javascript"> 
    $(document).ready(function() 
    { 
     $('#btn').click(function() 
     { 
      $.post(window.location, { name: "John", time: "2pm" }); 
      return false; 
     }); 
    }); 
</script> 


<input type="button" id="btn" value="Click Me" /> 

screenshot http://imagebin.antiyes.com/images/0565978001261663525_33.jpg

내가 버튼을 클릭하면이 foreach에 중단 점은 게시물 값을 볼 수 있습니다, 두 가지가 있습니다.

+0

@John, jQuery 버전을 사용하고 있습니까? –

+0

v1.3.2는 사용중인 버전입니다. –

+0

이상한 - 여러 가지 버전의 jQuery로 인해 서로 다른 결과가 발생할 수 있다고 생각했습니다. '창문을 사용할 때.location' 이것은 IE 6.0 및 Firefox 3.5.6에서 jQuery 1.3.2를 사용하여 실패했습니다.''location.href' (또는'location.pathname')로 변경하면 정상적으로 작동합니다. 어떤 브라우저를 사용하고 있습니까? –

0

window.location 개체는 jQuery.post에 대한 유효한 [url] 인수가 아닙니다. 대신 window.location.href을 사용해야합니다

ajaxSettings: { 
    url: location.href, 
    type: "GET" 
} 

가입일 :

// or the shorter location.href 
$.post(location.href, { name: "John", time: "2pm" }) 

을하지만, 대신 실패의, jQuery를 1.3.2 (이상) (무엇보다도)이다 기본 ajaxSettings, 다시 떨어진다 그것은 GET 요청을 발행하고 있으므로 분명히 Request.Form 컬렉션에 자신의 데이터가 표시되지 않습니다.

관련 문제