2016-10-11 3 views
-1

나는 얼마 동안 붙어 버린 문제가있다. mvc의 컨트롤러에서 jsonresult 액션에 매개 변수를 보내는 방법은 무엇입니까?

나는 나의 컨트롤러 (SubSubCategoriesController)에 JsonResult 방법을 가지고있다 -

public JsonResult GetSubCategories(int CategoryID) 
    { 
     return Json((db.SubCategories.Select(p => new { CategoryID = p.CategoryID, SubCategoryID = p.SubCatgeoryID, SubCategoryName = p.SubCategoryName })).Where(p => p.CategoryID == CategoryID), JsonRequestBehavior.AllowGet); 
    } 

지금, 내보기에서 매개 변수 (카테고리 ID)의 값을 보내려면? 어떻게 이걸 얻을 수 있니? 미리 감사드립니다.

+1

이 메서드를 호출하는보기 코드 표시 –

+0

@StephenMuecke 일부 'HTML 도우미'를 시도했지만 성공하지 못했습니다. – Medo

+0

@Medo 자바 스크립트 아약스 호출을 통해이 작업을 수행해야합니다. 이거 쓴거야? 그렇다면 보여주십시오. – ADyson

답변

0

데이터가 뷰 모델로 구성되지 않은 경우, 단일 매개 변수를 보내고 싶다면보기에서 정의하는 아약스 기능을 아래에서 사용할 수 있습니다.

$.ajax({ 
     type: 'GET', 
     url: '<%= Url.Action("GetSubCategories") %>', 
     cache: false, 
     data: { CategoryID : <bind it from UI> }, 
     success: function (data) { 
      console.log(data); 
     }, 
     error: function (xhr) { 
      alert('Error: ' + xhr.statusText);  
     } 
}); 

아니면 다른 깔끔한 방법

$.post("controller/method", {CategoryID: "<From UI>"}, function(result) { 
    console.log(result) 
}); 

그리고 단지 $.post here를 참조 httpPost

[httpPost] 
public JsonResult GetSubCategories(int CategoryID) 
{ 
} 

와 작업 방법을 장식합니다.

관련 문제