1

MVC4 では、1 つのコントローラー メソッドを別のコントローラー メソッドで使用RedirectToActionしようとしていますが、他のコントローラーのメソッドの戻り値を受信しようとするとエラーが表示されます。

次のコントローラーメソッドがあります。

public class TranslationController : Controller
{
   public ActionResult Search_Query()
   {
        List<Surah> Records = new List<Surah>();
        Records = RedirectToAction(" Load_Surahs", "Surah_CRUD");
        ...
        return Json(new { key = Records }, JsonRequestBehavior.AllowGet);
   }
}

別のコントローラーメソッド:

public class Surah_CRUDController : Controller
{
   public ActionResult Load_Surahs() 
    {
         List<Surah> Records = new List<Surah>();
         ...
         return Json(new { key = Records }, JsonRequestBehavior.AllowGet);
    }
}

それを修正する方法、つまり、Load_Surahs返されたオブジェクトのリストをSearch_Queryメソッドで使用したい...

4

3 に答える 3

0

の戻り値の型Load_Surahs()を JsonResultに変更します

于 2014-02-04T12:05:58.550 に答える
0

メソッド GetSurah を別のサービスに配置し、両方のコントローラーでこのサービスを使用します。

public class TranslationController : Controller
{
   public ActionResult Search_Query()
   {
       List<Surah> Records = someService.GetSurah();
       ...
       return Json(new { key = Records }, JsonRequestBehavior.AllowGet);
   }
}


public class Surah_CRUDController : Controller
{
   public ActionResult Load_Surahs() 
    {
         List<Surah> Records = someService.GetSurah();
         ...
         return Json(new { key = Records }, JsonRequestBehavior.AllowGet);
    }
}
于 2014-02-04T12:51:31.077 に答える