冯 海

一个程序新人菜鸟的日记,希望大家多多关照。QQ:32316131

bootstrap adminlte教程4-3:文章管理界面实现搜索功能

先上效果图

1.首先更改文章的index()前台

@model IEnumerable<jsdhh2.Models.CmsContent>

@{
	ViewBag.Title = "Index"; Layout = "~/Views/Shared/_AdminLayout.cshtml";
}

<!-- Content Header (Page header) -->
<section class="content-header">
	<h1>
		文章管理
		<small>分为超管和本人</small>
	</h1>
	<ol class="breadcrumb">
		<li><a href="#"><i class="fa fa-dashboard"></i> Level</a></li>
		<li class="active">Here</li>
	</ol>
</section>
<!--end Content Header (Page header) -->
<!-- Main content -->
<section class="content">
	<div class="col-xs-12">	
		<div class=" ">
			<div class="panel panel-default">
				<div class="panel-heading">
					<a class="btn btn-primary" href="/CmsContents/Create">新建</a>
				</div>
				<div class="panel-body">

					<form class="form-inline">
						<div class="form-group">
							@Html.DropDownList("SeachColumnString", new SelectList(ViewBag.drolistmenu, "Value", "Text"), "请选择")							
						</div>
						<div class="form-group">
							<div class="input-group col-md-12">						
								@Html.TextBox("SearchString", "", new { @class = "form-control", @Style = "display:inline" })
								<span class="input-group-btn ">
									<input id="btnSearch" class="btn btn btn-primary" type="submit" value="搜索">  
								</span>
							</div>
						</div>
				     </form>

                 </div>
			</div>
		</div>
		
		<div class="box">
		
			<div class="box-body table-responsive no-padding">

				<table class="table">
					<tr>

						<th>
							标题
						</th>
						<th>创建时间	 
						</th>
						
						<th>
						创建者
						</th>
						<th></th>
					</tr>

					@foreach (var item in Model)
			{
						<tr>
							<td>
								@Html.DisplayFor(modelItem => item.Title)
							</td>	
							<td>
								@Html.DisplayFor(modelItem => item.CreatTime, "DateTimeTemplate")
							</td>
							<td>@Html.DisplayFor(modelItem => item.CreatUser)								 
							</td>
						
							 					 
							<td>
								@Html.ActionLink("修改", "Edit", new { id = item.Id }, new { @class = "btn btn-info" }) |
								@Html.ActionLink("阅读", "Details", new { id = item.Id }, new { @class = "btn btn-success" }) |
								@Html.ActionLink("删除", "Delete", new { id = item.Id }, new { @class = "btn btn-warning" })
							</td>
						</tr>
			}

				</table>
			</div>
			</div><!-- /.box -->
	</div>
	<!-- Main content -->
 
</section>

  

后台:注意引进来的二个变量,一定要和前台的那二个值一模一样。同时我取消了延迟加载。

//public async Task<ActionResult> Index(string SeachColumnString, string SearchString)
		public  ActionResult  Index(string SeachColumnString, string SearchString)
		{
			ViewBag.drolistmenu =db.CmsColumns.Select(g => new SelectListItem    //这个是生成前台的选择栏目的下拉
			{
				Text = g.Name,
				Value = g.Id.ToString(),
				Selected = false
			});

			var seachindex = from w in db.CmsContents.OrderByDescending(c => c.CreatTime)    //取出所有的数据并按日期倒序
			                  select w; 
			
			if (!string.IsNullOrEmpty(SeachColumnString))   //先看栏目是否为空
			{
				int a1 = int.Parse(SeachColumnString);   //传进的值 转换为int,因为我的栏目ID是int
				if (!string.IsNullOrEmpty(SearchString))   //查看是否输入了:标题内容
				{
					seachindex = seachindex.Where(x => x.ColumnId == a1).Where(y =>y.Title.Contains(SearchString));
				}
				else        ///这只有栏目有值,未输入内容的查询
				{
					seachindex = seachindex.Where(x => x.ColumnId == a1); 
				}

			}
			else      //栏目空,则只看是否输入了内容。
			{
				if (!string.IsNullOrEmpty(SearchString))
				{
					seachindex = seachindex.Where(x => x.Title.Contains(SearchString));
				}
			}

				  

			return View(seachindex);
        }

        // GET: CmsContents/Details/5

  

 

完成。

 

posted @ 2017-05-31 22:51  秋天来了哟  阅读(590)  评论(0编辑  收藏  举报
认识就是缘份,愿天下人都快乐!
QQ: 32316131
Email: 32316131@qq.com