李木木 - 2021/12/23 15:28:44
现在的搜索是在搜索整个news表的全部新闻,想实现按照新闻中心的二级栏目columnid分类搜索,
搜企网络 - 2021/12/23 15:34:39
给搜索模板加多一个栏目id参数就是了
李木木 - 2021/12/23 15:37:05
搜企网络 - 2021/12/23 15:49:18
http://www.pageadmin.net/help/37.cshtml 在实例5的基础上帮你改一下,你自己完善一下。
- <ul>
- @{
- var keyword=StringHelper.Format<string>(Request.QueryString["keyword"]); //关键词参数
- var columnId=StringHelper.Format<int>(Request.QueryString["columnId"]); //栏目id参数
- PageInfo pageInfo=new PageInfo()
- {
- PageSize=10,
- CurrentPage=(int)ViewBag.CurrentPage
- };
- foreach (var item in Html.InfoDataList(new {Table="news", HasThumbnail=1, OrderBy="thedate desc" }, "columnId=@columnId and title like @keyword", new {columnId=columnId, keyword="%"+keyword+"%" }, pageInfo))
- {
- string url=Html.InfoDataUrl((int)item.ColumnId, (int)item.Id);
- <li>
- <span><a href="@url" target="_blank">@item.Title</a></span>
- </li>
- }
- }
- </ul>
复制代码keyword和columnId直接从url地址参数中传递
李木木 - 2021/12/23 16:02:11
回复 4楼搜企网络的帖子- @{
- int columnId = Html.CurrentColumnId();
- string kw = StringHelper.Format<string>(HttpContext.Current.Request.QueryString["kw"]);
- string[] pagePathArr = Html.PagePath().Split('/');
- int currentPage = StringHelper.Format<int>(Html.CustomViewParameter("page"));
- if (currentPage <= 0)
- {
- currentPage = 1;
- }
- PageInfo pageInfo = new PageInfo()
- {
- PageSize = 10,//每页显示10条数据
- CurrentPage = currentPage //当前页码,系统预设
- };
- var dataList = Html.InfoDataList(new { Table = "news" }, "title like @kw", new { kw = "%" + kw + "%" }, pageInfo);
- ViewBag.Path = "/news/Search/"; //PagebreakPartial分页文件用到
- }
- <div class="container padding-bottom-60">
- <ul class="breadcrumb">
- <li><a href="@Html.SiteUrl()"><span class="fa fa-home"> 首页</span></a></li>
- <li><a href="">文章搜索</a></li>
- </ul>
- <ul class="news-list padding-top-10">
- @{int num = 0;
- foreach (var item in dataList)
- {
- num++;
- string url = Html.InfoDataUrl((int)item.ColumnId, (int)item.Id);
- string date = item.Thedate.ToString("yyyy-MM-dd");
- <li class="item">
- <span class="title">
- <a href="@url" target="_blank" title="@item.Title">@item.Title</a>
- </span>
- <span class="date">@date</span>
- </li>
- }
- if (num == 0)
- {
- <li class="line-height-2 padding-bottom-20 padding-top-20">
- 暂时没有找到匹配的记录,请更换一个关键词重新搜索!
- </li>
- }
- }
- </ul>
- @Html.Partial("PagebreakPartial", pageInfo)
- </div>
- <script>
- $("#input-search").val("@kw");
- // $searchBtn.trigger("click");//触发搜索按钮,显示搜索框
- </script>
复制代码可不可以在这改一下 拜托了:rose
搜企网络 - 2021/12/23 16:22:24
int currentPage = StringHelper.Format<int>(Html.CustomViewParameter("page"))的下面加一行
var columnId=StringHelper.Format<int>(Request.QueryString["columnId"]); //栏目id参数
Html.InfoDataList(new { Table = "news" }, "title like @kw", new { kw = "%" + kw + "%" }, pageInfo);
改为
Html.InfoDataList(new {Table="news"}, "columnId=@columnId and title like @kw", new {columnId=columnId, kw="%"+kw+"%" , pageInfo},
李木木 - 2021/12/23 16:33:49
回复 6楼搜企网络的帖子谢谢谢谢,在请问一下,首页要怎么改呀
- @{
- int columnId = Html.CurrentColumnId();
- var siteData = Html.SiteData();
- string[] hostKeywords = new string[] { "通知","规定", "办法", "请假单","推荐","社发", "党发" };
- }
- <div class="header clearfix">
- <div class="container">
- <div class="row">
- <div class="col-md-3 float-lg-left">
- <a class="logo" href="@Html.SiteUrl()">
- <img src="@siteData.Logo" />
- </a>
- </div>
- <div class="col-md-9">
- <div class="nav text-right col-md-right" id="navMenu">
- @Html.SiteColumnsHtml()
- </div>
- </div>
- <div class="mask-bg" id="maskBg"></div>
- <div class="right-icon-box">
- <i class="fa fa-search" aria-hidden="true" id="searchBtn"></i>
- <i class="fa fa-remove hidden" id="removeSearch"></i>
- <i class="fa fa-bars" id="navToggle"></i>
- </div>
- </div>
- </div>
- </div>
- <!-- 搜索隐藏模块-->
- <div class="search-show">
- <div class="box container">
- <div class="title">
- <input type="text" class="s-input" id="input-search" placeholder="请输入你要查找的产品" />
- <i class="fa fa-search s-btn"></i>
- </div>
- <div class="hot-word">
- <div class="text">热搜关键词</div>
- <ul>
- @foreach (var keyword in hostKeywords)
- {
- <li><a href="/news/Search/?kw=@(Server.UrlEncode(keyword))">@keyword</a></li>
- }
- </ul>
- </div>
- </div>
- </div>
- <div class="search-bg" id="SearchMask"></div>
- <script type="text/javascript">
- var $navToggle = $("#navToggle");//手机端菜单图标
- var $maskBg = $("#maskBg");//遮挡层
- var $navMenu = $("#navMenu");
- $navToggle.on("click", function () {
- $maskBg.addClass("active");
- $navMenu.addClass("active");
- });
- $maskBg.on("click", function () {
- $maskBg.removeClass("active");
- $navMenu.removeClass("active");
- });
- $navMenu.children("ul").find("li").InitNav(@Html.CurrentColumnId(),@Html.TopColumnId());//初始化响应式菜单
- //搜索展示
- var $searchBtn = $('#searchBtn');
- var $removeSearch = $('#removeSearch');
- var $searchshow = $('.search-show');
- var $searchbg = $('.search-bg');
- $searchBtn.on("click", function () {
- $(this).toggleClass("hidden");
- $removeSearch.toggleClass("hidden");
- $searchshow.slideToggle();
- //$searchbg.toggle();
- })
- $removeSearch.on("click", function () {
- $(this).toggleClass("hidden");
- $searchBtn.toggleClass("hidden");
- $searchshow.slideUp();
- //$searchbg.hide();
- })
- var keyword = "";
- var $s_input = $(".s-input");
- $(".s-btn").on("click", function () {
- keyword = $s_input.val();
- if (keyword != "") {
- location.href = "/news/Search/?kw=" + keyword;
- }
- });
- $(".s-input").on("keydown", function (event) {
- var key = event.which;
- if (key == 13){
- keyword = $s_input.val();
- if (keyword != "") {
- location.href = "/news/Search/?kw=" + keyword;
- }
- }
- });
-
- </script>
复制代码
搜企网络 - 2021/12/23 16:40:42
后台获取栏目id,组合成一个下拉选择菜单,还有js脚本也要加一个栏目id的参数传递,改动太多了,剩下你自己研究一下
李木木 - 2021/12/27 12:11:17
回复 8楼搜企网络的帖子下单菜单我会,但是参数传递怎么加呀