講師が、ひげそりの構文を正しい文字列に変換するためのクラスを作成するチュートリアルに従っています。JSONを文字列にレンダリングしてJSONを返す方法
public static string RazorToString(Controller controller , string viewName , object model = null)
{
controller.ViewData.Model = model;
using(var sw = new StringWriter())
{
ViewEngineResult viewResult;
viewResult = ViewEngines.Engines.FindPartialView(controller.ControllerContext, viewName);
var viewContext = new ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, sw);
viewResult.View.Render(viewContext, sw);
viewResult.ViewEngine.ReleaseView(controller.ControllerContext, viewResult.View);
return sw.GetStringBuilder().ToString();
}
}
コントローラのアクションでは、彼はこのようにjSONを返します。
return Json(new { success = true, html = RazorViewToString.RazorToString(this,"GetAll" ,), message = "submitted succesfully" }, JsonRequestBehavior.AllowGet);
GETALLレコードのリストを返して、彼は渡されたアクションメソッドです。これはすぐ下にあります。
public ActionResult GetAll()
{
using (DBModel db = new DBModel())
{
var list = db.Employees.ToList();
return View(list);
}
}
これ以上の方法は、その中に私は意味の違いは、インストラクターが個別にリストを取得し、彼は私の実装でそのmethod.butと呼ばれるこのアクションメソッドでは、私が直接としてリストをreturingされているメソッドを作成しましたチュートリアルですあなたは上記の通りです。
RazorViewToString.RazorToString(this,"GetAll" ,)
私が作成していない方法を渡しました。私はここに渡す必要がありますか?誰かが上記の機能を説明できる場合は、私は彼に感謝します。 #Peace