2016-10-12 20 views
-3

事にこだわっています。MVCと同じオブジェクトが@ Html.Partial()に渡されます...?

@foreach (BLL.Report.ReportSection section in @Model) { 
    @Html.Partial("~/Views/Report/_ReportSection", section) 
} 

@Modelは、DBからデータを取得するために、AJAX呼び出しを呼び出している

["~/Views/Report/_ReportSection" ] 

部分図の負荷にIDS 1,2-

2つのオブジェクトを含むされます。

このセクションオブジェクトをデバッグしました。これらは、細かく別々のオブジェクトです。 しかし、それは両方の時間の2番目のオブジェクトを取得しています。

コントローラにajaxを呼び出すと、常に2番目のオブジェクト(id = 2)のデータが渡されます。

と同じ結果が表示されます。

私には何が欠けているかお伝えください。

UPDATE 遅くて申し訳ありません..

これは_ReportSection部分図で完全なコードです。レディ機能のAJAX呼び出しの が行われ、戻りデータとそれが

<div id="[email protected]@Model.SectionId"> 

</div> 
<script type="text/javascript"> 
    $(document).ready(function() {// alert("text-"[email protected]); 
     getSectionData(); 
    }); 

    function getSectionData(){ 
     alert(@Model.ReportId+" -- "[email protected]); 
     CallAjax("GET", 
      "json", 
      "/ReportTemplate/GetSectionData", 
      { ReportId: @Model.ReportId, SectionId: @Model.SectionId }, 
      getSectionDataSuccess, 
      getSectionDataFail) 

    } 

    function getSectionDataSuccess(data) 
    { 
     var table = $('<table></table>'); 
     var rowHeader = $('<th></th>'); 
     $.each(data, function(index,column) { 
      var cell = $('<td></td>').text(column.ColHeader); 
      rowHeader.append(cell); 
     }); 
     table.append(rowHeader); 

     $.each(data[0].columnDataList, function(index,colObj) 
     { 
      var row = $('<tr id="@Model.SectionId-'+colObj.RowId+'"></tr>'); 
      table.append(row); 
     }); 


     $.each(data, function(index,colObj) 
     { 
      $.each(colObj.columnDataList, function(index,colData) 
      { 
       var td = $('<td id="@Model.SectionId-'+colData.RowId+'-'+colData.ColName.trim()+'">'+colData.Data.trim()+'</td>'); 

       var row = $(table).find('#@Model.SectionId-'+colData.RowId); 

       $(table).find('#@Model.SectionId-'+colData.RowId).append(td); 
      }); 

     }); 
     $('#[email protected]@Model.SectionId').append(table); 
    } 

    function getSectionDataFail(xhr, ajaxOptions, thrownError) 
    { 
     //alert("Ajax Failed!!!"); 
    } 
</script> 
+0

あなたの '_ReportSection'部分図とこのAJAX呼び出しを実行するjsを表示してください –

+0

部分的なビューとアクションのコードも表示してください。 –

+0

このコンテキストで 'モデル'のタイプは何ですか? – rmorrin

答えて

0

みんなありがとうテーブルを作成しています。私は仕事をしました。部分的なビューからjavascriptコードを削除し、親ページに配置しました。これは私のために働いた。

しかし、私は、部分的なビューの内部でjavascriptを使ってセクションを別々に保つようにしていました。

これは現在正常に動作している方法を変更しています。 まだ誰かが説明できる理由を知りたいのですが。

関連する問題