代码改变世界

ASP.NET MVC3 实战入门(3)--在分页中添加搜索功能

2011-03-30 14:57  撞破南墙  阅读(2911)  评论(2编辑  收藏  举报
以我的security模块为例如何写搜索

 

S1 :前台代码中写提交表单:\Areas\Security\Views\Role

  

    <form action="/security/role/list" method="post">

模糊搜名字<input type="text" name="searchwords" value="<%:ViewData["searchwords"] %>" />    

    <input type="submit" value="提交呗" />


 

S2:后台控制器中的代码:

 

      

       #region 5.1.2 List

  //5.1.2

        // GET: /Security/Role/
        
//[HttpGet]

        [ValidateFilterAttribute(Description 
= "显示列表")]
        
public ActionResult List(int id, string searchwords) {
            
if (id < 1) {
                id 
= 1;
            }

            
//##3.1.3分页示例--后台代码
            STOA.RichModel.STOADBContainer stoadbc = new RichModel.STOADBContainer();
            IQueryable
<STOA.RichModel.Role> roles =
                stoadbc.Role;
            
int count = roles.Count();
            ViewData[
"recordCount"= count;
            roles 
= roles.OrderBy(_ => _.RoleID)
                .Where(_ 
=> _.Name.Contains(searchwords))/*搜索*/
                 .Skip((id 
- 1* Base.Global.PageSize)//跳过的页数
                 .Take(Base.Global.PageSize);
            ViewData[
"msg"= roles;//
            ViewData["currentPageIndex"= id;
            ViewData[
"pageSize"= Base.Global.PageSize;
            ViewData[
"pageCount"= count / Base.Global.PageSize;//这里有问题暂时不理
            ViewData["searchwords"= searchwords; 
            
            
return View(roles);
        }
        
#endregion