1

asp.net mvc プロジェクトのモデルでメソッドを作成する必要があります。

public JsonResult GetProductsByDepList(string depID)
{
  JsonResult jr = new JsonResult();
  var _product = from a in DataContext.GetProductsByDep(Convert.ToInt32(depID))
  select new { ID = a.ID, ProName = a.Name };
  jr.Data = _product.ToList();
  jr.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
  return jr;
 }


 public JsonResult GetProductByCatList(string depID, string catID)
 {
   JsonResult jr = new JsonResult();
   var _product = from a in   
   DataContext.GetProductsByCat(Convert.ToInt32(depID),Convert.ToInt32(catID))
   select new { ID = a.ID, ProName = a.Name };
   jr.Data = _product.ToList();
   jr.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
   return jr;
 }

これら2つの方法を組み合わせたいのですが、関数のパラメーターを除いて、互いに同じように機能します。

アイデアをください。

4

5 に答える 5

3

オプションの引数を使用します:

public JsonResult GetProductByCatList(string depID, string catID = "0")
于 2012-04-10T09:33:16.607 に答える
2
 public JsonResult GetProductByCatList(string depID, string catID = "-1")
 {
   //common shared code
   return jr;
 }

デフォルト値-1catID

于 2012-04-10T09:33:03.337 に答える
2

次のように試すことができます:

   public JsonResult GetProductsByDepList(string depID)
   {
       return GetProductByCatList(depID, null);
   }

   public JsonResult GetProductByCatList(string depID, string catID)
   {
       JsonResult jr = new JsonResult();
       var _product = null;
       if (!string.IsNullOrEmpty(catID))
       {
           _product = from a in   
               DataContext.GetProductsByCat(Convert.ToInt32(depID),Convert.ToInt32(catID))
               select new { ID = a.ID, ProName = a.Name };
       }
       else
       {
           _product = from a in DataContext.GetProductsByDep(Convert.ToInt32(depID))
               select new { ID = a.ID, ProName = a.Name };
       } 

       jr.Data = _product.ToList();
       jr.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
       return jr;
   }
于 2012-04-10T09:51:05.617 に答える
2

あなたは試すことができます:

public JsonResult GetProductByCatList(string depID, string catID = null)
{
  JsonResult jr = new JsonResult();
  if (String.IsNullOrEmpty(catID))
  {
      var _product = from a in DataContext.GetProductsByDep(Convert.ToInt32(depID))  
      select new { ID = a.ID, ProName = a.Name };
      jr.Data = _product.ToList();      
  } else {
      var _product = from a in   
      DataContext.GetProductsByCat(Convert.ToInt32(depID),Convert.ToInt32(catID))
      select new { ID = a.ID, ProName = a.Name };
      jr.Data = _product.ToList();      
  }
  return jr;
}
于 2012-04-10T09:33:47.457 に答える
1

デフォルトのパラメータは 4.0 バージョンから使用できます。また、MS http://blogs.msdn.com/b/csharpfaq/archive/2004/03/07/85556.aspxからこの記事を読んでください。

于 2012-04-10T09:36:51.093 に答える