2016-10-11 13 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); 
    } 

を今、私は私のビューからのパラメータ(区分)の値を送信したいですか?どうすればこれを達成できますか? ありがとうございます

+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を参照してください。

関連する問題