譯 MVC3 20個秘方 (10)根據關鍵字搜尋

2022-01-24 02:39:00 字數 2102 閱讀 2367

當排序和分頁和過濾都不夠幫使用者去找到他們想要的結果時,想乙個最好的備選方式是讓使用者輸入(關鍵字)他們想要什麼。

用htmlhelper建立乙個新的from和 文字輸入框,並且借助linq根據使用者輸入的關鍵字在之前過濾過的結果裡查詢。

和前邊的秘方很像,新增乙個根據keyword 搜尋的功能需要更新 book/index view 和 bookcontroller。在view裡新增乙個新的from和textbox 讓使用者輸入keyword。同時也要確保當使用者改變排序規則、過濾、分頁時,關鍵字保持。

下邊的**是對view的更新:

@html.actionlink("

create new

", "

create

")show:

@if (viewbag.currentfilter != ""))}

else

|  @if (viewbag.currentfilter != "

newreleases"))

}else

|  @if (viewbag.currentfilter != "

comingsoon"))

}else

@using (html.beginform())

@html.partial("

_paging

")@html.actionlink("

title

", "

index

", new

)@html.actionlink("

isbn

", "

index

", new

)summary

@html.actionlink("

author

", "

index

", new

)thumbnail

@html.actionlink("

price

", "

index

", new

)@html.actionlink("

published

", "

index

", new

)@foreach (var item in model)

) |@html.actionlink("

details

","details

", new ) |

@html.actionlink("

delete

","delete

", new )

}@html.partial("

_paging

")最終,bookcontroller 需要被更新,在下邊的例子,index() action 更新

class bookscontroller : controller

viewbag.currentkeyword =

string.isnullorempty(keyword) ? "" : keyword;

#endregion

#region filter switch

#endregion

int maxrecords = 1;

int currentpage = page - 1;

return view(books.topagedlist(currentpage,

maxrecords));}}

}譯者:上邊**是以書名和作者名為搜尋條件的。你也可以自己擴充套件。比如根據isbn:

books = books.where(b =>

b.title.toupper().contains(keyword.toupper())

|| b.author.toupper().contains(

keyword.toupper()||b.isbn.toupper().contains(

keyword.toupper()));

當然這樣做的話查詢效率會有問題。我們可以在ui提供乙個dropdownlist 讓使用者去選擇根據什麼條件去搜尋關鍵字。

學習準備3 20個Windows常用快捷鍵

tab 製表符 空4格 windows鍵 shift鍵 組合鍵,有切換功能 ctrl鍵 control鍵,組合鍵 alt鍵 f4 關閉視窗 space鍵 產生空格 enter鍵 換行 確認 numlock 小鍵盤 鍵 移動游標 常用 全選 複製 貼上 撤銷 儲存 關閉視窗 執行 永久刪除.ctrl ...

寫了個MVC 多層的Demo

web 表示層,負責應用程式的表現形式 使用者體驗等。common 公共函式類,字元擷取 驗證使用者輸入資訊等功能。一般被表示層呼叫。bll 處理應用程式的業務邏輯,被表示層呼叫。dalfactory 抽象工廠,用於建立各種資料物件的方法,這裡有配置檔案和反射的運用。model model程式集,存...

原譯 11個高效的VS除錯技巧

介紹 除錯是軟體開發周期中的乙個很重要的部分,有時很有挑戰性,有時候則讓程式設計師迷惑,有時候讓程式設計師發瘋,但是。可以肯定的是,對於任何不是太那個微不足道的程式來說,除錯是不可避免的。近年來,除錯工具的發展已經使得很多除錯任務簡單省時了。本文總結了十個除錯技巧,當你使用vs的時候可以節省你很多時...