[英]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.