我使用AJAX調用表內的控制器操作和加載項的引導面板內完全局部視圖。完整面板組在局部視圖內。我只想返回訂單數據,並使用新填充的視圖模型填充面板主體,但整個局部視圖正被重新加載到所選面板主體中。阿賈克斯POST返回引導面板主體
有三個面板,所以我有3個員額:
$("#evaluation-panel-heading").click(function() {
$.ajax({
url: '@Url.Action("EvaluationOrders","Home")',
type: 'POST',
success: function(data) {
if (data) {
$("#evaluation-panel-body").html(data);
}
}
});
});
$("#dfc-panel-heading").click(function() {
$.ajax({
url: '@Url.Action("DfcOrders","Home")',
type: 'POST',
success: function (data) {
if (data) {
$("#dfc-panel-body").html(data);
}
}
});
});
$("#wip-panel-heading").click(function() {
$.ajax({
url: '@Url.Action("WipOrders","Home")',
type: 'POST',
success: function (data) {
if (data) {
$("#wip-panel-body").html(data);
}
}
});
});
控制器操作的:
[HttpPost]
public ActionResult EvaluationOrders()
{
using (var entity = new Entities())
{
var atp = User.Identity.Name;
var ordersInEvaluation = entity.uspGetOrdersInEvaluation(atp).ToList();
var viewModel = new AtpMobileViewModel
{
OrdersInEvaluation = ordersInEvaluation
};
return PartialView("BucketOrders", viewModel);
}
}
[HttpPost]
public ActionResult DfcOrders()
{
using (var entity = new Entities())
{
var atp = User.Identity.Name;
var ordersInDfc = entity.uspGetOrdersInDFC(atp).ToList();
var viewModel = new AtpMobileViewModel
{
OrdersInDfc = ordersInDfc
};
return PartialView("BucketOrders", viewModel);
}
}
[HttpPost]
public ActionResult WipOrders()
{
using (var entity = new Entities())
{
var atp = User.Identity.Name;
var ordersWip = entity.uspGetOrdersWIP(atp).ToList();
var viewModel = new AtpMobileViewModel
{
OrdersWip = ordersWip
};
return PartialView("BucketOrders", viewModel);
}
}
第一面板主體以供參考:
<div id="evaluation-panel-body" class="panel-body">
@if (Model != null && Model.OrdersInEvaluation != null)
{
<table class="footable">
<thead>
<tr>
<th>Description</th>
<th>Client</th>
</tr>
</thead>
@foreach (var order in Model.OrdersInEvaluation)
{
<tr>
<td>@order.OrderDesc</td>
<td>@order.db_CustID</td>
</tr>
}
</table>
}
</div>
我只是想填充表格而不是重新加載選定面板體中的整個局部視圖。我無法弄清楚如何填充視圖模型並在div中重新加載表格而不返回整個局部視圖。任何幫助,將不勝感激。謝謝!
您每次都會返回相同的BottomOrders局部視圖。我相信你可能需要在控制器中的每個返回的部分視圖。 –
AJAX觸發器「#evaluation-panel-heading」是什麼類型的元素,它在表單中? – Jasen
'#evaluation-panel-heading'不在表格內,它只是打開第一個面板的錨點 – cfly24