1
嘿,我試圖根據用戶點擊的內容對列的自定義數據網格進行排序。變量「sort」被傳遞給控制器,但只是一個字符串,表示要對哪個列進行排序。C#MVC:Func <Table1,「runtime type」>如何獲得動態類型?
我需要在LambdaExpression使用該列的類型...繼承人的代碼
ParameterExpression param = Expression.Parameter(typeof(Table1), "x");
MemberExpression memberExp = Expression.Property(param, sort);
var lambdaExp = Expression.Lambda<Func<Table1, int>>(memberExp, new ParameterExpression[] { param });
if (bool.Parse(Session["sort"].ToString()))
sortedKeys = keys.OrderBy(lambdaExp).Skip((currentPage - 1) * _pageSize).Take(_pageSize);
else
sortedKeys = keys.OrderByDescending(lambdaExp).Skip((currentPage - 1) * _pageSize).Take(_pageSize);
正如你可以在第3行看到我通過委託Func鍵從工作了具有int類型的列,但會根據點擊的列動態更改。
我該如何解決這個問題?
謝謝!