如何在mvc中的控制器中向jsonresult动作发送参数?

时间:2016-10-11 08:19:59

标签: asp.net-mvc telerik-mvc

我有一个问题,我已经坚持了一段时间。

我的Controller(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);
    }

现在,我想从我的View中发送参数(CategoryID)的值?我怎样才能做到这一点? 提前致谢

1 个答案:

答案 0 :(得分: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