的東西讓我們從一些基本的控制器操作開始:
public class FeiertagController
{
IFeiertagService feiertagService = new FeiertagService();
public ActionResult EditFeiertag()
{
// ... return your main edit view
return View();
}
// Will be called by your jquery ajax call
public PartialResult GetFeiertagTable()
{
var feiertagData = messageService.getLatestFeiertagData();
var viewModel = new FeiertagViewModel();
feiertagViewModel.feirtagTableData = feiertagData;
return PartialView("FeiertagTableView", viewModel);
}
}
所以,EditFeiertag( )用於呈現整個編輯頁面,並且該頁面將在想要異步渲染局部視圖時調用GetFeiertagTable()。現在
,對你的看法,可以說你有類似:
<div id="Container">
<div id="LeftPanel">
// ... Some menu items
</div>
<div id="RightPanel">
<a id="ReloadLink" href="#">Reload Table</a>
<div id="FeiertagTable>
<% Html.RenderPartial("FeiertagTable", Model.feiertagTableData); %>
</div>
</div>
</div>
這工作正常,將再次加載表。但是如果你點擊某個元素(在我們的例子中是#ReloadLink),你想重新加載Feiertag表格。
以下添加到您的網頁
部分:
<head>
<script src="../../Scripts/Jquery/jquery-1.3.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(document).ready(function($) {
$('#ReloadLink').click(function(e)
{
e.preventDefault(); // stop the links default behavior
$('#FeiertagTable').load('/Feiertag/GetFeiertagTable');
});
});
</script>
</head>
那麼這將在單擊事件添加事件爲您重載鏈接,將調用一個jQuery load()方法。此方法是一個簡化的ajax get請求,它將替換所選div(FeiertagTable)的內容以及返回的內容。
我們的GetFeiertagTable()控制器操作將返回部分視圖,然後插入該部分視圖。
我希望這能讓您指出正確的方向!