2016-04-22 17 views
0

ajaxメソッドを使用してpartialviewをロードしようとしています。私は過去にそれを試してきましたが、今回はなぜコンテンツやデータを読み込んでいないのか分かりません。私はどこが間違っているのだろうと思っています。どうすれば修正できますか?部分図をajaxにロードする

これは、「Add_Group」という名前のdiv内の部分表示のビューです。

@(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

を返すために、あなたのGetGroupDetailを変更ajaxリクエストは 'HttpPost'属性で' GetGroupDetail'アクションを装飾します。 –

+0

正常に動作し、結果を返すことさえできます。しかし、部分表示を含むdivが空を表示しています。問題は、パーシャルビューを表示し、パーシャルビューをロードすることにあります。 C#は正常に動作し、Jsonオブジェクトとして正しい結果を保持しています。 – Sweetie

答えて

0

あなたがいますhtmlではなくpostメソッドでjsonオブジェクトを返します。したがって、電話するとき

Dataは、それが示すするためのHTMLを返すように

あなたGetGroupDetail必要性をhtmlのないJSONであるので、それは、何も表示しない$("#Add_Group").html(response.Data);

。あなたのコードの見た目によって

は、私はあなたがGetGroupDetailから戻ってきているものを想定していますと、部分図(~/Areas/Admin/Views/UserGroups/_AddGroupPartial.cshtml)のモデルである、あなたがポストをやっていると部分図に

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); 
     } 
関連する問題