2013-09-25 3 views
0

код в JavaScriptКак вернуть модель с контроллера на просмотр с помощью jquery?

function SubmitQuery(Org_UID) { 

     var ddlProduct_No = $("#Org_UID"); 
     $.ajax({ 
      type: 'POST', 
      url: '@Url.Action("ShowNewProfessionalWindow", "UpdateOrganizationUID")', 
      dataType: "html", 
      data: { 
       countryno: $("#Org_UID").val() } 

Мой контроллер

[HttpPost] 
    public ActionResult ShowNewProfessionalWindow(string countryno) 
    { 
      UpdateOrganizationUIDViewModel model = new UpdateOrganizationUIDViewModel(); 
      //model.Org_UID = OrgUID; 
      model.org_name_long = "test"; 
      model.org_name_short = "test"; 


      return RedirectToAction("Index", model); 
     } 

Как я могу вернуть значение модели для просмотра с помощью JQuery?

ответ

0

Использование JsonResult

Изменить код и вернуть JsonResult, поэтому использовать

return Json(model); 

вместо

return RedirectToAction("Index", model); 

Если вы хотите вернуться Просмотр использовать

F рвые вы можете создать метод, как, который будет принимать ViewName и Model он будет возвращать HTML строку

public static string RenderRazorViewToString(ControllerContext controllerContext, string viewName, object model) 
{ 
    controllerContext.Controller.ViewData.Model = model; 
    using (var sw = new StringWriter()) 
    { 
     var viewResult = ViewEngines.Engines.FindPartialView(controllerContext, viewName); 
     var viewContext = new ViewContext(controllerContext, viewResult.View, 
       controllerContext.Controller.ViewData, controllerContext.Controller.TempData, sw); 
     viewResult.View.Render(viewContext, sw); 
     viewResult.ViewEngine.ReleaseView(controllerContext, viewResult.View); 
     return sw.GetStringBuilder().ToString(); 
    } 
} 

Использование также вы должны вернуться JsonResult вместо PartialViewResult

public JsonResult yourpartialviewresult() 
{ 
    return Json(new 
      { 
       data = RenderRazorViewToString(this.ControllerContext, "partialview", model) 
      }); 
} 
Смежные вопросы