簡體   English   中英

使用ASP.NET MVC創建完全基於Ajax的網站

[英]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框架。 KnockoutJSAngularJS是一些受歡迎的選擇。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM