2016-04-22 1 views
0

Я пытаюсь загрузить partialview с использованием метода ajax. Поскольку я пробовал это в прошлом, но я не знаю, почему на этот раз он не загружает контент и данные. Мне интересно, где я ошибаюсь. Как я могу это исправить?Загрузка Частичный вид в ajaxified способе

Это мой взгляд, имеющий частичный вид в одном из его div с именем «Add_Group».

@(Html.Kendo().Window() 
    .Name("AddEditGroupWindow") 
    .Title("Edit Group") 
    .Content(@<text><div id="Add_Group" style="display:none; width:100%;"> 
      @Html.Partial("~/Areas/Admin/Views/UserGroups/_AddGroupPartial.cshtml"); 
     </div> </text>) 
       .Visible(false).Width(1000).Height(300)) 

После того как я получить данные, используя пост ниже, я пытаюсь загрузить вид patial используя ниже:

$.post("/UserGroups/getGroupDetail", { "groupId": id }, function (response) { 
      $("#Add_Group").html(response.Data); 
      $("#AddEditGroupWindow").data("kendoWindow").open(); 
      $("#Add_Group").show(); 
     }); 

в контроллере это, как показано ниже:

public ActionResult GetGroupDetail(string groupId) 
     { 
      var data = string.Empty; 
      UserGroupRoleModel objmodel = new UserGroupRoleModel(); 
      var groupEntity = this._userGroupServices.GetGroupDetail(Convert.ToInt32(groupId)); 
      return this.Json(new { Data = groupEntity }); 
     } 
+0

как вы делаете пост ajax-запрос украсит действие 'GetGroupDetail' с атрибутом HttpPost. –

+0

Он отлично работает и даже возвращает результаты. Но div, содержащий частичный вид, показывает Empty. Проблема состоит в том, чтобы просто показать частичный вид и загрузить частичный вид. C# работает нормально и сохраняет правильные результаты как объект Json. – Sweetie

ответ

0

Вы возвращение объекта json методом post, а не html, поэтому, когда вы звоните

$("#Add_Group").html(response.Data);

не показывать ничего, потому что Data является JSON не HTML

Вашего GetGroupDetail необходимости возвращение HTML для того, чтобы показать.

По внешнему виду вашего кода, я предполагаю, что вы возвращаетесь из GetGroupDetail является моделью частичного вида (~/Areas/Admin/Views/UserGroups/_AddGroupPartial.cshtml), изменить ваш GetGroupDetail вернуть частичный вид на

public ActionResult GetGroupDetail(string groupId) 
     { 
      var data = string.Empty; 
      UserGroupRoleModel objmodel = new UserGroupRoleModel(); 
      var groupEntity = this._userGroupServices.GetGroupDetail(Convert.ToInt32(groupId)); 
      return PartialView("~/Areas/Admin/Views/UserGroups/_AddGroupPartial.cshtml", roupEntity); 
     }