【发布时间】:2016-10-12 11:25:59
【问题描述】:
我陷入了困境。
@foreach (BLL.Report.ReportSection section in @Model) {
@Html.Partial("~/Views/Report/_ReportSection", section)
}
@Model 包含两个 ID 为 1,2 的对象
加载局部视图
["~/Views/Report/_ReportSection" ]
它正在调用ajax调用从数据库中获取数据。
我调试了这个部分对象。这些是精细且独立的对象。 但在加载时它两次都获得第二个对象。
当对控制器进行 ajax 调用时,它总是传递第二个对象 (id = 2) 的数据。
并加载相同的结果以供查看。
请告知我缺少什么。?
更新 抱歉迟到了。。
这是 _ReportSection 部分视图中的完整代码。 准备好函数 ajax 调用并返回数据它正在创建表
<div id="Section-@Model.ReportId-@Model.SectionId">
</div>
<script type="text/javascript">
$(document).ready(function () {// alert("text-"+@Model.SectionId);
getSectionData();
});
function getSectionData(){
alert(@Model.ReportId+" -- "+@Model.SectionId);
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);
});
});
$('#Section-@Model.ReportId-@Model.SectionId').append(table);
}
function getSectionDataFail(xhr, ajaxOptions, thrownError)
{
//alert("Ajax Failed!!!");
}
</script>
【问题讨论】:
-
显示您的
_ReportSection部分视图和执行此 AJAX 调用的 js -
请同时显示部分视图和操作的代码。
-
在这种情况下
Model的类型是什么? -
能否请您出示来自 _ReportSection 的 AJAX 调用?
-
Ajax 调用正在返回正确的单个对象数据。问题是两次相同的 AJAX 调用都是使用相同的参数进行的。(第二个对象的参数)
标签: .net asp.net-mvc