簡體   English   中英

通過javascript使用視圖模型和Razor

[英]Working with view model and Razor via javascript

我有一個包含“歌曲”列表的視圖模型。 現在,我不再需要瀏覽所有列表,因此在Java腳本中,我這樣做了:

$(window).scroll(function () {
    if ($(window).scrollTop() + $(window).height() + 5 > $(document).height()) {    
        @foreach (var item in Model.Songs.Skip(Number).Take(20))
        {
             //do something
        }
        Number = Number + 20;
    }
});

問題是Razor變量“ Number”沒有更改,因此我總是加載相同的條目。 我不想每次滾動器到達底部時都進行ajax調用,我已經有了該頁面的模型,只是不想立即使用所有模型。

我認為實現此目標的最佳方法是將模型集合解析為javascript對象(數組)

首先,您需要創建html helper方法(無論如何在其他情況下也將很有用),例如

  using Newtonsoft.Json;
   .....
     public static HtmlString ToJson(this HtmlHelper helper, object obj)
     {
         return MvcHtmlString.Create(JsonConvert.SerializeObject(obj));
     }

然后將您的模型屬性轉換為js對象。

<script>
    var songs = @Html.ToJson(Model.Songs.Skip(Number).Take(20))
</script>

就這樣。 為我工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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