[英]Creating a fully ajax based website with ASP.NET MVC
我正在計划創建一個基於完全ajax請求的網站。 但是我心里有一些疑問,
1-我應該使用JavaScript路由引擎庫擴展嗎? 我真的需要嗎? 因為我正在使用的網站非常大,而且一定會成長。
2-我將僅通過ajax加載每個頁面內容,但我不會使用JSON
,我打算使用PartialViews
可以嗎?
3
<script type="text/javascript">
$("a.ajax").click(function() {
$(".placeholder").load(this.href);
return false;
});
</script>
<a class="ajax" href="/Home/Products/2">Products</a>
<div class="placeholder"></div>
這是我過程的簡單代碼,問題在這里,歷史記錄,當用戶想要返回時,它將失敗。 如何解決這個問題?
1-我應該使用JavaScript路由引擎庫擴展嗎? 我真的需要嗎? 因為我正在使用的網站非常大,而且一定會成長。
如果您在客戶端上有很多邏輯,則可以考慮使用某些MVVM javascript框架。 KnockoutJS
和AngularJS
是一些受歡迎的選擇。
2-我將僅通過ajax加載每個頁面內容,但我不會使用JSON,我打算使用PartialViews可以嗎?
您可以使用HTML5 History API
,該HTML5 History API
允許您在每次發出AJAX請求時將條目添加到瀏覽器歷史記錄中。
這是一個例子:
$("a.ajax").click(function() {
var href = this.href;
var title = $(this).text();
$(".placeholder").load(href, function() {
// Add an entry in the browser history
history.pushState(null, title, href);
});
return false;
});
嘗試看一下angularjs。 AngularJs + asp.net Web API將是一個好方法
答案q1:最好使用諸如angular.js之類的mvvm框架,但是您也可以自己處理所有事情,當然,如果要處理這樣的事情,則必須編寫更多代碼! 答案q2:可以,只需通過ajax調用即可調用一個動作方法,並且在動作方法中呈現一個局部視圖,並且在您要成功的函數中更新所需的任何位置,我也正在使用此方法:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.