第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何根據(jù)選定的下拉項目生成項目列表?

如何根據(jù)選定的下拉項目生成項目列表?

慕碼人8056858 2021-04-27 21:02:46
我想根據(jù)用戶選擇的下拉選項過濾項目列表。這是我的下拉菜單:<select class="form-control" onchange="loadFilteredList()" id="conditionSelect">      <option disabled value="" selected="selected">Please select a filter</option>      <option>Under 18</option>      <option>Above 18</option></select>這是我用來生成列表的循環(huán):<table class="table table-hover" id="ageOverview">    <tr>        <th>Col1</th>        <th>Col2</th>        <th>Col3</th>    </tr>    @foreach (var person in ViewBag.persons)    {        <tr>            <td>@person.FirstName</td>            <td>@person.MiddleName</td>            <td>@pperson.LastName</td>        </tr>    }</table>每當用戶從下拉菜單中選擇一個選項時,我都希望加載正確的列表。帶有數(shù)據(jù)的ViewBag填充在我擁有的控制器內。目前,下拉菜單中的第一個選項有一個ViewBag,下拉菜單中的第二個選項有一個ViewBag。不知道這是否是正確的方法,但是我對此很陌生,希望獲得一些建議。
查看完整描述

1 回答

?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

不考慮這里的Vue標記,我管理大型事物(超過200個DOM元素,而您提到的1000多個)的典型方法是將其與小型控制器動作掛鉤以避免污染DOM,這會減慢事情的進行速度下降了很多。

不過,我們必須考慮各種選擇,因為您將在某處受到打擊。您必須決定在哪里。大量的DOM元素與請求帶寬之間的關系。將數(shù)據(jù)存儲在Session中,以便可用于多個發(fā)布請求或重新查詢生成的數(shù)據(jù)。

因此,出于此目的,我假設我們不想在DOM中擁有大量項目,而只是顯示/隱藏,這是最簡單的方法,但是當您開始添加項目和組合或移動用戶嘗試加載頁面等。我還為您的函數(shù)名稱loadFilteredList涂上顏色,對我來說,它只是很快就喊出“添加另一個過濾器”的要求。

因此,這是基本設計:

控制器方法將您在此處具有的表內容作為部分視圖返回。

它(控制器方法)可選地具有作為過濾器選項的參數(shù)。(更多這些可以在以后添加;關鍵是,控制器正在執(zhí)行過濾和發(fā)送數(shù)據(jù))

然后,用于onchange的JavaScript只會向控制器發(fā)出針對新過濾數(shù)據(jù)的發(fā)布請求。您可以根據(jù)需要使用jquery或vanilla設置html內容。您的控制器要么獲取新數(shù)據(jù)以進行過濾,要么使用會話。無論哪種方式最適合您的需求。不過,您不需要ViewBag,這不是針對這種情況的。

這種設計的缺點是,每個過濾器都會在后臺向服務器發(fā)送新請求。好處是希望您的有效負載足夠小,因此以這種方式進行操作并沒有返回每個可能的行以便可以在客戶端進行過濾那樣昂貴。


查看完整回答
反對 回復 2021-05-13
  • 1 回答
  • 0 關注
  • 137 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號