C# 如何按记录动态排序

C# 如何按记录动态排序,c#,asp.net,asp.net-mvc,asp.net-mvc-4,razor,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Razor,我有以下索引操作方法,显示对象列表,如下所示:- public ActionResult Index(string searchTerm = "", int page = 1) { string withOutSpace = searchTerm.Trim(); ViewBag.searchTerm = searchTerm; int pagesize; bool succeed =

我有以下索引操作方法,显示对象列表,如下所示:-

public ActionResult Index(string searchTerm = "", int page = 1)
        {
            string withOutSpace = searchTerm.Trim();
            ViewBag.searchTerm = searchTerm;
            int pagesize;
            bool succeed = int.TryParse(System.Web.Configuration.WebConfigurationManager.AppSettings["TechPageSize"], out pagesize);
            var racks = repository.AllFind(withOutSpace).OrderBy(a => a.Technology.SerialNumber).ToPagedList(page, pagesize);
目前我总是按序列号排序,但我的问题是如何将参数传递给我的index actionmethod,并根据传递的参数(如价格、日期等)执行OrderBy。 有人能给我建议吗? 第二个问题,我如何在第一次调用orberby升序的同时,第二次调用orberby降序的?
谢谢

您可以在orderBymethod中使用反射..类似于

racks.OrderBy(a => { 
                        //use reflection get the property
                        PropInfo prop = a.GetType().GetProperty("price");
                        return prop;
                   })

我还没有测试这段代码。这只是一个想法。

您可以在orderBymethod中使用反射。类似于

racks.OrderBy(a => { 
                        //use reflection get the property
                        PropInfo prop = a.GetType().GetProperty("price");
                        return prop;
                   })

我还没有测试这段代码。这只是一个想法。

您可以在orderBymethod中使用反射。类似于

racks.OrderBy(a => { 
                        //use reflection get the property
                        PropInfo prop = a.GetType().GetProperty("price");
                        return prop;
                   })

我还没有测试这段代码。这只是一个想法。

您可以在orderBymethod中使用反射。类似于

racks.OrderBy(a => { 
                        //use reflection get the property
                        PropInfo prop = a.GetType().GetProperty("price");
                        return prop;
                   })

我还没有测试过这段代码。这只是一个想法。

我相信C#支持带字符串的
switch
。但我的问题是,我是否可以使我的代码尽可能动态,这样我就可以在下面的语句“racks.OrderByDescending(a=>a)”中进行排序动态地等于传递的参数,而不是使用Switch?我相信C#支持带字符串的
Switch
。但问题是我是否可以使我的代码尽可能动态,这样我就可以在下面的语句“racks.OrderByDescending(a=>a)”中进行排序动态地等于传递的参数,而不是使用Switch?我相信C#支持带字符串的
Switch
。但问题是我是否可以使我的代码尽可能动态,这样我就可以在下面的语句“racks.OrderByDescending(a=>a)”中进行排序动态地等于传递的参数,而不是使用Switch?我相信C#支持带字符串的
Switch
。但问题是我是否可以使我的代码尽可能动态,这样我就可以在下面的语句“racks.OrderByDescending(a=>a)”中进行排序动态地等于传递的参数,而不是使用开关?