![](/img/trans.png)
[英]How can I handle all my errors/messages in one place on an Asp.Net page?
[英]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,但您必須根據參數的類型使用默認值。
你有這些選擇恕我直言:
PredicateBuilder
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.