Эй, я пытаюсь отсортировать пользовательскую сетку данных по столбцам в зависимости от того, на что нажал пользователь. Переменная «sort» передается в контроллер, но это просто строка, в которой указано, какой столбец нужно отсортировать.
Мне нужно получить тип этого столбца, который будет использоваться в выражении 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, но он будет меняться динамически в зависимости от того, по какому столбцу щелкнули.
Как мне это решить?
Спасибо!