2016-10-11 5 views
-1

У меня проблема, что я застрял в течение некоторого времени.Как отправить параметр jsonresult в контроллер в mvc?

У меня есть метод JsonResult в моем контроллере (SubSubCategoriesController): -

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); 
    } 

Теперь я хочу, чтобы отправить значение параметра (CategoryID) с моей точки зрения? Как я могу это достичь? Заранее спасибо

+1

Показать свой код, который вызывает этот метод –

+0

@StephenMuecke Я попробовал некоторые «помощники HTML», но ничего не получилось – Medo

+0

@Medo вам нужно сделать это с помощью javascript ajax-вызова. Вы написали это? Если да, пожалуйста, покажите это. – ADyson

ответ

0

Если ваши данные не структурированы в viewmodel, я имею в виду, если вам только интересно отправить один параметр, вы можете использовать ниже функцию ajax, определяющую ее из представления.

$.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) 
}); 

И только украсит метод действия с httpPost

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

См $.post here.

Смежные вопросы