理论上网站上的所有页面都可以通过栏目管理来添加,那自定义页面的意义是什么呢?

网站的需求是很多样化的,比如需要制作一个对外提供数据的api,甚至制作一个搜索页面,或者制作一些数据和栏目没有对应关系的页面,这些页面独立于网站栏目,如果用栏目页来制作,会导致栏目结构混乱和不好维护,这时候自定义页面就可以很好解决这种问题,下面我们演示如何制作一个自定义的搜索页面。

1、打开网站模板文件目录,新建一个MyRoute.config文件(保存为utf8格式),文件名称规则为: *Route.config,如下图:

2、打开这个文件,输入下面的xml内容,并保存。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <route urlConstraint="^/news/search/([1-9]\d{0,8}/)?$"  viewPath="帮助中心/search.cshtml" httpcacheSolutionId="0" columnId="0" title="帮助搜索"></route>
</configuration>

其中route节点为自定义页面的路由参数,多个自定义页面可以新建多个route节点。

urlConstraint:表示url的正则匹配规则,匹配的话就可以请求viewPath指定的模板文件。

viewPath:模板文件对应的相对路径,这里只填写相对路径,模板必须放在views目录下。

httpcacheSolutionId:自定义使用的缓存方案Id,如果不使用缓存,设置为0。

columnId:自定义页面对应的栏目id,如果不需要对应,设置为0。

title:自定义页面的浏览器中显示的标题。

3、点击views。

4、创建一个帮助中心文件夹,如下图:

5、点击打开帮助中心,创建一个search.cshtml文件(保存为utf8格式),如下图:

6、打开搜索页面,输入下面内容:

@{ 
    var keyword = Request.QueryString["key"];//获取搜索关键词
    var i=0;
 }
<div>
<div class="container">
  <ul class="breadcrumb">    <li><a href="/"><span class="fa fa-home"> 首页</span></a></li>
 
   <li><a href="">在线搜索</a></li>   </ul>
  <div class="news-list">
   @if (!string.IsNullOrEmpty(keyword))
  {
    foreach (var item in Html.InfoDataList(new { Table = "news" }, "[title] like @title", new { title = "%" + keyword + "%" }))
    {
     string url = Html.InfoDataUrl((int)item.ColumnId, (int)item.Id);
     <div class="item clearfix">
     <div class="title"><a href="@url" target="_blank"><i class="fa fa-angle-right"></i>@item.Title</a></div>
     </div>
     i++;
     }
   }
   @if(i==0)
    {
      <div>暂时没有找到匹配的记录,请更换一个关键词重新搜索!</div>
    }
   </div>
</div>

这样一个简单的搜索页面(搜索news表,注意需要有news信息表,否则会报错)就制作完成了。

7、点击左上角的重启图标,重启进程后后自定义页面路由生效

8、在浏览器输入:http://你的域名/news/search/就可以打开搜索页面。


在使用pageadmin建站软件网页设计的时候不懂的可以参考一下帮助中心的文章。

pageadmin CMS 如何添加自定义页面的更多相关文章

  1. .NET PageAdmin CMS

    .NET PageAdmin CMS 完全破解步骤(非简单去版权) 其实当初我的目的是很纯洁的,只是想找一个简单的网站生成模板,由于对.net更熟悉一点,就去搜索了.net框架的CMS,看它的介绍挺强 ...

  2. pageadmin CMS网站制作教程:模板概念解释

    pageadmin CMS网站建设教程:模板概念解释 1.模板页 又叫视图页面,PageAdmin后台栏目或信息中用到的模板页面的统称,格式必须是.cshtml后缀文件,前端人员制作的页面默认都是ht ...

  3. pageadmin CMS网站建设教程:模板中如何实现信息数据共享

    pageadmin CMS网站制作教程:模板中如何实现信息数据共享 很多时候信息数据需要共享,一个最常用的应用场景就是手机版(独立手机,非响应式)本共享pc版本数据,下面以这个场景为例讲解. 假设手机 ...

  4. PageAdmin CMS网站制作教程实例:如何制作一个报名表?

    PageAdmin CMS网站建设实例:如何制作一个报名表? 有时我们根据需求需要制作一些自定义表,该如何去制作呢? 我们以制作一个报名表为例: 登录后台地址,进入后台, 2.在顶部导航中找到系统,并 ...

  5. PageAdmin CMS网站建设教程:如何创建及管理栏目?

    PageAdmin CMS网站制作教程:如何创建及管理栏目?1.登录管理后台后,在顶部导航中找到网站,并点击: 2.在左侧栏目中找到栏目管理,并点击: 3.进入到栏目管理页面,在顶部找到菜单,点击添加 ...

  6. pageadmin CMS网站建设教程:如何修改用户密码?

    pageadmin CMS网站建设教程: 当我们想修改密码,该如何修改呢? 1. 首先,登录会员中心,会员中心的地址是在网址后面加上/member/login: 2. 例:我的网站地址是localho ...

  7. pageadmin CMS网站制作教程:

    pageadmin CMS网站建设教程:模板中如何实现信息数据共享 很多时候信息数据需要共享,一个最常用的应用场景就是手机版(独立手机,非响应式)本共享pc版本数据,下面以这个场景为例讲解. 假设手机 ...

  8. pageadmin CMS网站制作教程:栏目单页内容如何修改

    pageadmin CMS网站制作教程:栏目单页内容如何修改 一般情况下,如公司介绍,联系方式等介绍内页面都属于单页,单页内容可以直接在栏目设置界面进行修改,如下 1.对栏目单页内容进行设置,登录后台 ...

  9. 程氏CMS去掉静态页面的隐藏性版权方法

    程氏CMS去掉静态页面的隐藏性版权方法 实例如图: 因为之前自己找了好久都没找到这俩代码写在那个文件夹的,经过跟csqq8讨论了也没有得到结果,今天突然发现,原来这些代码都经过base64加密,用加密 ...

随机推荐

  1. Halcon中二维码解析函数解码率和时长的优化方法

    Halcon中条码解析函数包容多种条码类型且简单强大.现有的‘Data Matrix ECC 200’.‘QR Code’和‘PDF417’等广泛使用的条码均能解析.简单是通过默认参数即可对多种条码进 ...

  2. Word编写代码时输出半角引号

    工具--自动更正选项--键入时自动套用格式,去掉直引号替换为弯引号.

  3. sdc-docker

    ssh root@109.105.7.96 sdc-login docker /opt/smartdc/docker ls /var/svc/log/ cat smartdc-application- ...

  4. soapUI参数中文乱码问题解决方法&soap UI工具进行web接口测试

    soapUI参数中文乱码问题解决方法 可能方案1: 字体不支持中文,将字体修改即可: file-preferences-editor settings-select font 修改字体,改成能显示中文 ...

  5. Qt Thread

    Threading Classes (Qt help manual key words) These Qt Core classes provide threading support to appl ...

  6. Linux enca命令

    一.简介 enca是Linux下的文件编码转换工具. 二.安装 http://dl.cihar.com/enca/   http://www.2cto.com/os/201404/295528.htm ...

  7. 第六章 Windows应用程序对键盘与鼠标的响应 P121 6-8

    基于键盘与鼠标应用的程序设计 一.实验目的 1.掌握键盘与鼠标在应用程序中的消息响应机制.   二.实验内容及步骤 实验任务 1.熟悉键盘的消息响应: 2.熟悉鼠标的消息响应: 实验内容 设计一个窗口 ...

  8. python动态捕获异常-乾颐堂

    在讨论动态捕获异常时让我大吃一惊的是,可以让我找到隐藏的Bug和乐趣... 有问题的代码 下面的代码来自一个产品中看起来是好的抽象代码 - slightly(!) .这是调用一些统计数据的函数,然后进 ...

  9. [Training Video - 2] [Java Introduction] [Operator, Loops, Arrays, Functions]

    Operator : While Loop : For Loop :  Arrays : Code : public class FirstJavaClass { public static void ...

  10. 关于删除MySQL Logs的一点记录

    五一前,一个DBA同事反馈,在日常环境中删除一个大的slow log文件(假设文件大小10G以上吧),然后在MySQL中执行flush slow logs,会发现mysqld hang住. 今天尝试着 ...