我有以下的索引方法在我的HomeController:通行證視圖模型查看兩次
var homeIndexModel = new HomeIndexModel()
{
ActiveTasks = tasks.Where(
task =>
task.TaskStatus != TaskStatusEnum.Deferred &&
task.TaskStatus != TaskStatusEnum.Verified && task.TaskStatus != TaskStatusEnum.Resolved),
ClosedTasks = tasks.Where(
task =>
task.TaskStatus == TaskStatusEnum.Resolved),
DeferredTasks = tasks.Where(
task =>
task.TaskStatus == TaskStatusEnum.Verified ||
task.TaskStatus == TaskStatusEnum.Deferred),
Rules = m_errandSvc.GetAllRules(),
Sources =
Enum.GetValues(typeof(TaskSourceEnum)).Cast<TaskSourceEnum>().AsEnumerable().OrderBy(taskSource => taskSource.AsString()),
Types =
Enum.GetValues(typeof(TaskTypeEnum)).Cast<TaskTypeEnum>().AsEnumerable().OrderBy(taskSource => taskSource.AsString()),
Counties = counties,
Reports = null,
};
return this.View(homeIndexModel);
這homeIndexModel傳遞給視圖當您訪問的第一頁。正如你所看到的,我將一個Report-object賦值爲null。
我想在使用homeedexModel時使用此報告屬性當我做一個搜索在第一頁。當我點擊「搜索」時,應該會出現一個模式並顯示搜索結果。
這裏是我的搜索方法控制器:
[HttpPost]
public ActionResult SearchReport(string searchVal, string searchParam)
{
var reports = m_errandSvc.GetReportSearch(searchVal, searchParam).ToList();
var homeIndexModel = new HomeIndexModel()
{
Reports = reports
};
return this.View(homeIndexModel);
}
正如你所看到的,我assaign報告屬性與GetReportSearch的結果。我想通過循環低於這個對象:
<!-- Modal -->
<div class="modal" id="myModalSearch" aria-hidden="true" data-keyboard="false" data-backdrop="static">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-body">
<div class="panel panel-default">
<div class="panel-heading">
<h4>FISH</h4>
@if (Model.Reports != null)
{
}
</div>
</div>
</div>
</div>
</div>
</div>
我的問題是,當我添加一個foreach,這樣下面,我調試模式退出。
@if (Model.Reports != null)
{
foreach(var itm in Model.Reports)
{
<div>@itm.Report_id</div>
<div>@itm.ReportSource</div>
}
}
我該如何解決這件事與homeIndexViewModel並打印出我的搜索結果,我想?
Herer是我的jQuery,我使用後的搜索方法:
$('#searchReports').click(function() {
var searchVal = $('#searchVal').val();
$.ajax({
contentType: "application/json; charset=utf-8",
dataType: "json",
type: "POST",
url: DataReview.BASE + "/Home/SearchReport",
data: JSON.stringify(
{
'searchVal': searchVal,
'searchParam': searchParam
}
)
}).done(function (data) {
console.log("YES");
}).fail(function(data) {
console.log("Fail " + data);
});
});
當然,它不會進入循環,因爲'Model.Reports'在你的行動中爲空 – Imad
但是我的搜索?我希望它在我搜索後進入。 – Bryan
親切描述你的項目結構 – Imad