私は指定された順序で製品のリストを返す必要がある自動ポストバックに設定されたドロップダウンリストを持っています。私はちょうどその独自のメソッドにそのクエリを配置し、orderbyを指定するパラメータを使用することができると思ったが、私はそれを動作させることはできません。LINQ to SQLクエリのポストバックでorderbyを変更する方法
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の代わりにその変数を渡しても機能しません。その場合は –
、[Dynamic LINQ OrderBy](http://stackoverflow.com/questions/41244/dynamic-linq-orderby) –