簡體   English   中英

如何將javascript變量傳遞給@Model函數

[英]How to pass javascript variable into @Model function

我目前正在嘗試僅顯示從控制器方法傳入的列表的某些條目,具體取決於用戶從分頁欄中選擇的頁面,如下所示

<nav aria-label="Page navigation">
    <ul class="pagination">
        <li class="page-item">
            <a class="page-link" href="#">Previous</a>
        </li>
        @for (int i = 1; i <= numberOfPages; i++)
        {
            <li class="page-item">
                <a class="page-link" href="#" onclick="showResults(@i)">@i</a>
            </li>
        }
        <li class="page-item">
            <a class="page-link" href="#">Next</a>
        </li>
    </ul>
    <h4>
        Retrieved @Model.Count() results - currently showing 10 per page
    </h4>
</nav>

在某些情況下, numberOfPages是定義為Model.Count()/10 + 1的剃刀變量。 現在,我只是想從傳入列表中獲取正確的元素。 但是,在我的showResults方法中,無法在涉及@Model函數中使用javascript變量。

<script>
    function showResults(page) {
        //no need to reload the current page
        if (page == @currentPage){
            return;
        }
        page = page - 1; //e.g. if user wants to go to page 1, then results gathered would be from 0 to 9
        var items = @Model.Skip(page * 10).Take(10);
    }
</script>

在線上, var items = @Model.Skip(page * 10).Take(10); ,我看到一條錯誤消息

名稱“頁面”在當前上下文中不存在

我嘗試過的一件事是從剃須刀ActionLink中的Javascript變量中獲取的 ,但是此處涉及replace的答案將給我“未捕獲的語法”錯誤。 如果可能的話,我想以任何方式使用javascript變量過濾列表。

對剃刀變量執行跳躍操作。 您不能使用客戶端參數進行服務器端計算。

如果您的模型包含所有數據,為什么需要使用剃須刀過濾掉數據? 將數據分配給JavaScript變量,然后跳過顯示結果方法。

如果要動態加載數據,則需要對該頁面進行Ajax調用,並僅用該數據填充模型。 然后再做第二段:)

暫無
暫無

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

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