2013-09-25 134 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 IRST您可以創建一個方法,將接受ViewNameModel它會返回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) 
      }); 
} 
相關問題