首页新闻找找看学习计划

asp.net 字母索引,根据首字母查询数据库中的字段的名字

0
悬赏园豆:10 [已解决问题] 解决于 2013-08-30 13:17

现在就是要实现这个索引功能

我的存储过程是这样写的

Create procedure [dbo].[GameInfo_ByChar]
@FirstChar nvarchar(50)
as
begin
select GameName from GameInformation where FirstChar=@FirstChar
end

控制器是这样的

 #region 根据首字母检索游戏
        /// <summary>
        /// 根据首字母检索游戏
        /// </summary>
        /// <returns></returns>
        public PartialViewResult SelectGameByChar()
        {
            IndexProvider indeProvid = new IndexSqlProvider();
            DataTable dt = indeProvid.GameInfo_ByChar("A");
            List<GameInfoModels> list=new List<GameInfoModels>();
            foreach(DataRow row in dt.Rows)
            {
                GameInfoModels model = new GameInfoModels();
                model.GameName = row["GameName"].ToString();
                list.Add(model);
            }
            return PartialView(list);
        }
        #endregion

现在就是不知道控制器中的这个方法怎么写,同时用的是分部视图,结果会返回分部视图的。能不能用一个方法,根据26个字母分别从数据库中检索出相应数据,集体的力量是无穷的,希望大家帮帮忙,谢谢了

"程序猿"~在路上 | 初学一级 | 园豆:162
提问于:2013-08-29 23:48
< >
分享
最佳答案
0

把所有数据查到客户端,然后通过 Npinyin库,将数据存入Dictionary<string,List<string>>。然后,随便整了~

收获园豆:10
幻天芒 | 高人七级 |园豆:36594 | 2013-08-30 00:17

看你在数据库已经存了首字母,那么Npinyin这步可以不要了。总之就是把整体数据拿到C#中处理,So Easy·

幻天芒 | 园豆:36594 (高人七级) | 2013-08-30 00:20

@幻天芒: 不太明白

"程序猿"~在路上 | 园豆:162 (初学一级) | 2013-08-30 00:39

@"程序猿"~在路上: 也就是把所有的数据全部查出来(首字母,名称)。然后再View中,通过Lambda表达式 来筛选~

foreach(var s in new string[]{"A","B","C"})

{

  var list=Model.Where(m=>m.首字母==s);//类似这样的写法

}
幻天芒 | 园豆:36594 (高人七级) | 2013-08-30 09:31

@幻天芒: 但是又怎么分别显示呢。比如

A  相关数据

B  相关数据

C  相关数据

...........

"程序猿"~在路上 | 园豆:162 (初学一级) | 2013-08-30 11:27

@幻天芒: 但是又怎么分别显示呢。比如

A  相关数据

B  相关数据

C  相关数据

...........

"程序猿"~在路上 | 园豆:162 (初学一级) | 2013-08-30 11:35

@"程序猿"~在路上: 

@foreach(var s in new string[]{"ABC","DEF","C"})
{
    @foreach(var c in s)
    {
         var list=Model.Where(m=>m.首字母==c.ToString());//类似这样的写法
        <b>@c</b>
        <ul>
            @foreach(var m in list)
            {
                <li>@m.Name</li>
            }
        </ul>
    }
}
//通过多重循环就能实现了~~~样式还能自定义
幻天芒 | 园豆:36594 (高人七级) | 2013-08-30 12:05

@幻天芒: 你用这么简单的方法就给结局了,实在厉害。刚开始想的,在在控制器方法里循环传参,想复杂了。高手就是高手,谢谢你!!!

"程序猿"~在路上 | 园豆:162 (初学一级) | 2013-08-30 13:17

@"程序猿"~在路上: 过奖~在公司垫底的!

幻天芒 | 园豆:36594 (高人七级) | 2013-08-30 13:19
其他回答(1)
0

用个字典做model, 把数据都插进去

1 Dictionary<char, List<GameInfoModels>>
l3oz | 园豆:586 (小虾三级) | 2013-08-30 10:50

说的有点抽象,能具体点吗,比如。。。

支持(0) 反对(0) "程序猿"~在路上 | 园豆:162 (初学一级) | 2013-08-30 11:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册