簡體   English   中英

如何編寫一種方法來處理ASP.NET中高級搜索功能的所有排列?

[英]How do I write one method to handle all permutations of an advanced search feature in ASP.NET?

我有一個ASP.NET網頁,它有一個高級搜索選項卡。 在此選項卡中,我有10個字段可用於進一步優化搜索。 我想編寫一個方法來處理由此搜索產生的所有排列。

實現這一目標的最佳方法是什么? 我知道我無法創建一個搜索對象來保存所有值並將其傳遞,因為該對象無法從業務層公開到UI層)。

var query = dc.MyTable; // Base query here
if (Field1.Text != "") // Filter Field1
    query = query.Where(x => x.Field1 == Field1.Text);

if (Field2.Text != "") // Filter Field2
    query = query.Where(x => x.Field2 == Field2.Text);

grid.DataSource = query;

如果您使用的是LinqDataSource,則可以在Where子句中指定(未測試):

"(@Param1 == String.Empty || Field1 == @Param1) && (@Param2 == String.Empty || Field2 == @Param2) && etc... "

其中@ Param1,@ Param2等等被定義為控件中的WhereParameters。 我使用了String.Empty,但您必須根據參數的類型使用默認值。

你有這些選擇恕我直言:

暫無
暫無

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

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