我有一個下拉列表設置爲自動回發,它需要返回的產品列表以指定的順序。我以爲我可以把它放在它自己的方法中,並使用一個參數來指定orderby,但我無法讓它工作。如何更改orderby回發LINQ到SQL查詢
下面是一個例子:
protected void Show_Products(int item)
{
using (storeDataContext db = new storeDataContext())
{
string query = "";
switch (item)
{
case 1:
query ="x.Name";
break;
case 2:
query = "x.MSRP";
break;
default:
break;
}
var q = db.Items.OrderBy(x=> query).Select(x => x);
foreach(var n in q)
{
Do work
}
}
}
而且下拉列表方法被調用回發:
protected void ddlSortBy_SelectedIndexChanged(object sender, EventArgs e)
{
int value =int.Parse(ddlSortBy.SelectedValue);
Show_Products(value);
}
如何發佈你試過的東西沒有用?目前還不清楚你想要做什麼。 –
用戶單擊下拉菜單,選擇價格並且上面的查詢動態更改。將x.MSRP放在一個字符串中並傳遞該變量來代替x.Name不起作用。 –
在這種情況下,[動態LINQ OrderBy](http://stackoverflow.com/questions/41244/dynamic-linq-orderby) –