如何在ASP.NET MVC中搜索列表中的数据 [英] How to search the data inside the list in ASP.NET MVC

查看:59
本文介绍了如何在ASP.NET MVC中搜索列表中的数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想搜索列表中的字符串。从下面的代码,我想按列名称 - Locale搜索LocalizedString列表中的列。检查下方突出显示的行(带下划线)。请帮我从LocalizedString列表中搜索Locale列。



我尝试过:



i want to search the string which inside the list. from the code below, i want to search the column by column name-Locale which inside the LocalizedString list. check the line below highlighted(Underlined). Please help me out to search the Locale column from the LocalizedString list.

What I have tried:

namespace Akton.Controllers
{
    
    public class LocalizationStringDefaultController : Controller
    {
        private IUnitOfWork db = new UnitOfWork( );
        public Akton.Areas.Challenge.DAL.UnitOfWorkRepo.IUnitOfWork challenge=new Akton.Areas.Challenge.DAL.UnitOfWorkRepo.UnitOfWork();
        // GET: LocalizaionStringDefault
        public ActionResult Index ( string sortOrder, string currentFilter, string searchString, int? page )
        {
            ViewBag.LocaleSortParam = string.IsNullOrEmpty(sortOrder) ? "locale_desc" : "";
            List<localstringsviewmodel> localStrings = new List<localstringsviewmodel>( );
            List<stringdefault> defaultString = challenge.StringDefaultRepository.Get( ).ToList( );
            if ( defaultString.Count>0 && defaultString !=null )
            {
                foreach ( var item in defaultString )
                {
                    List<localizedstring> stringModel = new List<localizedstring>( );
                    var languagestring = challenge.LocalizedStringRepository.Get().Where(s => s.StringDefaultId == item.StringDefaultId).ToList( );
                    if ( languagestring.Count > 0 && languagestring != null )
                    {
                        foreach ( var languages in languagestring )
                        {
                            stringModel.Add(new LocalizedString
                            {
                                StringDefaults=languages.StringDefaults,
                                Locale=languages.Locale,
                                Value=languages.Value

                            });
                        }
                        
                    }
                    localStrings.Add(new LocalStringsViewModel
                    {
                        DefaultString=item.Value,
                        LocalizedString=stringModel,
                        
                        StringDefaultId=item.StringDefaultId
                    });
                   
                }
            }
            var stringList = localStrings.Distinct( );
            ViewBag.CurrentSort = sortOrder;
            if ( searchString != null )
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }
            ViewBag.CurrentFilter = searchString;
            if ( !String.IsNullOrEmpty(searchString) )
            {
                stringList = stringList.Where(x=>x.Locale==searchString).Select(x=> x).ToList();
            }
            switch ( sortOrder )
            {
                case "locale_desc":
                stringList = stringList.OrderByDescending(s => s.Locale);
                break;
                case "Value":
                stringList = stringList.OrderBy(s => s.Value);
                break;
                default:
                stringList = stringList.OrderBy(s => s.StringDefaultId);
                break;
            }
            int pageSize = 12;
            int pageNumber = ( page ?? 1 );

            return View(stringList.ToPagedList(pageNumber, pageSize));

        }
    }
}</localizedstring></localizedstring></stringdefault></localstringsviewmodel></localstringsviewmodel>

推荐答案

排序,过滤,以及使用实体框架进行分页在ASP.NET MVC应用程序中ASP.NET站点 [ ^ ]


这篇关于如何在ASP.NET MVC中搜索列表中的数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆