2012-12-04 7 views
3

나는 이것을 알아 내려고 지난 밤을 보냈다.Stringified JSON을 C# 메서드에 전달하는 방법은 무엇입니까?

기본적으로 Google지도에서는 ​​사용자가 클라이언트 측 자바 스크립트에서 선택한 두 지점 사이에서 길 찾기 또는 경유지를 생성 할 수 있습니다.

는 내가 이상적으로 서버 측 C#을 방법이를 전달하여 (임 C# .NET을하고 SQL 서버 DB를 사용) 내 데이터베이스에 이러한 저장할 수 있도록하려면

..

나는 지점 곳에있어

*var string = JSON.stringify(response);* 

다음은 내가 갇혀있는 곳입니다.

어떻게 이것을 C# webforms 메서드에 전달합니까?

나는 같은 내 문제에 대한 MVC C#을 솔루션을 본 적이 :

var str = JSON.stringify(data) 

var city = {}; 
     city.Directions = str; 
     $.ajax({ 
      type: 'POST', 
      url: 'usertrip.aspx/GetDirections', 
      data: str , 
      contentType: 'application/json; charset=utf-8', 
      dataType: 'json', 
      success: function (r) { 
       alert(r.d.Directions);; 
       } 
     }); 

을하지만 테스트했습니다, 이것은 웹 양식을 위해 일하지 않을 것이라는 결론을 내렸다. 누구든지이 코드를 변경하여 MVC가 아닌 Webforms 메서드에 문자열을 전달할 수있는 방법을 알고 있습니까?

감사합니다.

var str = JSON.stringify(data) 

var city = {}; 
     city.Directions = str; 
     $.ajax({ 
      type: 'POST', 
      url: 'usertrip.aspx/GetDirections', 
      data: { city: str }, 
      contentType: 'application/json; charset=utf-8', 
      dataType: 'json', 
      success: function (r) { 
       alert(r.d.Directions);; 
       } 
     }); 

그리고 뒤에 웹 양식 코드 :

+1

우리는 GetDirections() 코드 – CR41G14

+0

을 볼 수 있습니까?이 종류의 것은 _does_ ASP.NET 웹 양식에서 작동합니다. – Rawling

답변

4

당신은 확실히 웹 양식으로 이런 종류의 일을 할 수 있습니다. 중요한 것은 ajax 호출에 의해 발생할 수있는 메소드를 노출하는 웹 서비스를 설정해야한다는 것입니다. Using jQuery to directly call ASP.NET AJAX page methods이라는이 멋진 기사는 내가하려는 일을 성취하는 방법을 알아내는 데 매우 귀중한 것으로 입증되었습니다. 이 같은 (기사에서) 예를 들어

하고 뭔가 :

public partial class _Default : Page 
{ 
    [WebMethod] 
    public static string DoSomething(string myJsonData) 
    { 
    // deserialize your JSON 
    // do something cool with it 
    } 
} 

당신이 당신의 AJAX 호출로의 WebMethod를 공격 허용합니다. MVC를 사용하지 않는 많은 asp.net 솔루션에서이 작업을 수행했다는 것을 확신 할 수 있습니다. 따라서 코드에 필요한 정보를 얻을 수 있어야합니다.

+0

안녕하세요 제시, 동일한 기사에서 코드를 시도했습니다, C# 코드를 제외하고 모든 작품 Webform 데이터를 선택할 수 없습니다, NameValue [] formVars 비어 있습니다. 이것에 대한 제안이 있으십니까? 내 게시물은 여기에 있습니다. http://stackoverflow.com/questions/20311890/error-with-using-jquery-to-post-form-data-to-an-asp-net-asmx-ajax-web-service –

2

당신이 뭔가를 할 필요가

City city = new JavaScriptSerializer().Deserialize<City>(Request.Form["city"]); 
관련 문제