asp.net的cms 原理篇

昨晚稍微写了一点,我订制的cms系统的标签,今天我把标签所代替的代码也写出来。

我的方法很简单,就是"替换"二字.

例①HTML——绑定数据


代码如下:

<!--{an:alist filed=[title,time] category=[#] num=[10] page=[true] sort=[time desc]}-->
<li><span class="fr_time">${2}</span><a href="$href[articleview][{"id",#0}]">${1}</a></li>
<!--{/an}-->

:$href[articleview][{"id",#0}] 所代表的地址是:你的域名/article/view/{id}在后续的文章我会解:$href[articleview]这是个什么玩意。例①替换后的ASP.NET源码


代码如下:

<script runat="server">
protected override void OnLoad(EventArgs e)
{
MyHashtable.Add("DFE3B56EB5D720382BB90CF468D83C35", Article("TextFile.ID,title,time", 1, 8, "time desc", "", "", ""));
}
</script>
<%
if(1==1)
{
var myRows = MyRows("DFE3B56EB5D720382BB90CF468D83C35");
if (myRows != null)
{
foreach (var a in myRows)
{ %>
<li>
<span class="fr_time"><%=TimeFormart(a[2],"yyyy-MM-dd")%></span>
<a href="<%=UrlRoute("articleview",new string[,]{ {"id",a[0].ToString()}})%>"><%=a[1]%></a>
</li>
<%}
}
else
{%>
<p style='margin:10px;'>没有相关信息</p>
<%
}
}%>

这里我稍作解释一下

MyHashtable.Add() 这就是相当于把上面的要获取的列表,填充到数据集DataSet.例②HTML——分页

分页效果图

分页标签


代码如下:

<!--{an:alistpager category=[#]}-->
$pager[articlelist][{"category","#category"}][10]
<!--{/an}-->

例②HTML——分页替换后的ASP.NET源码


代码如下:

<script runat="server">
protected override void OnLoad(EventArgs e)
{
MyHashtable.Add("386D9595D2FBD4C65F5D1B28BAA8FD96", ArticlePager("","#",""));
}
</script>
<%
if(1==1)
{
var myRows = MyRows("386D9595D2FBD4C65F5D1B28BAA8FD96");
if (myRows != null)
{
foreach (var a in myRows)
{ %>
<%=Paging("articlelist",new string[,]{{"category","#category"}},10,a[0])%>
<%
}
}
else
{%><p style='margin:10px;'>没有相关信息</p><%
}
}%>

包罗万象,基本上所以的绑定数据都可以用了。

现在我的cms应付基本上的企业网站,已经是绰绰有余了,还有会员功能尚待开发。

一直都是一个人独自开发,技术用词不当的地方还请担待,由于个人技术太过肤浅,犹豫是否开源。

怕前辈们笑话,呵呵,先发一贴以自勉。

(0)

相关推荐

  • asp.net的cms 核心代码篇

    第一篇,我简略描述了一下我的cms标签所表示的含义.anCMS(c#版)第一篇绑定数据 第二篇,我将展示了标签背后真正运行的代码.asp.net的cms 原理篇 好像开源有点多余,核心代码就下面这些. 复制代码 代码如下: using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; namespace an.helper { ///

  • asp.net的cms 绑定数据篇

    半年前,在博客园写了asp.net cms 的几篇文章,那时候,是我的cms还没做出来.都是些夸夸其谈. 现在我已经删除了那几篇. 今天,写这篇,是想感慨一下. 现在我的CMS也核心也快大致完成了. 姑且管这个 c#版的cms叫:anCms anCms的基本语法: 1.绑定数据 复制代码 代码如下: 整个语法说明: 开始标记<!--{an:方法名 filed=[字段1,字段2,字段3] sort=[字段 asc|desc] category=[分类ID] id=[编号ID] keyword=[]

  • CentOS上运行ZKEACMS的详细过程

    ZKEACMS Core 是基于 .net core 开发的,可以在 windows, linux, mac 上跨平台运行,接下来我们来看看如何在 CentOS 上运行 ZKEACMS. 安装 .Net Core 运行时 运行以下命令,安装 .Net Core Runtime sudo yum install libunwind libicu curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?linkid=843420 sud

  • ZKEACMS for .Net Core深度解析

    ZKEACMS 简介 ZKEACMS.Core 是基于 .Net Core MVC 开发的开源CMS.ZKEACMS可以让用户自由规划页面布局,使用可视化编辑设计"所见即所得",直接在页面上进行拖放添加内容. ZKEACMS使用插件式设计,模块分离,通过横向扩展来丰富CMS的功能. 响应式设计 ZKEACMS使用Bootstrap3的栅格系统来实现响应式设计,从而实现在不同的设备上都可以正常访问.同时站在Bootstrap巨人的肩膀上,有丰富的主题资源可以使用. 简单演示 接下来看看程

  • asp.net小孔子cms中的数据添加修改

    题外话:我为什么研究小孔子的cms,从我自己写一个cms我就开始研究起别人的cms,早期我是研究netcms,但这系统过于庞大,看上去十分的累,也没那个精力,于是打算从一套比较小的开始研究,于是小孔子cms就进入了我的研究范围.没过多久我就放下我手中的cms,决定研究清楚有了更多经验再继续写完我没有完成的cms. 最近都在看小孔子cms的代码,其添加与修改数据十分方便,做下笔记,代码主要提取自小孔子cms,去掉了不用的函数并把相关代码写到一个文件中: 结合上面的图片,当我们要往数据库中添加数据时

  • asp.net的cms 原理篇

    昨晚稍微写了一点,我订制的cms系统的标签,今天我把标签所代替的代码也写出来. 我的方法很简单,就是"替换"二字. 例①HTML--绑定数据 复制代码 代码如下: <!--{an:alist filed=[title,time] category=[#] num=[10] page=[true] sort=[time desc]}--> <li><span class="fr_time">${2}</span><

  • Asp.net基础知识扫盲篇

    asp.net基础知识篇-中文扫盲篇 1..NET是什么? .Net全称.NET Framework是一个开发和运行环境, 该战略是微软的一项全新创意, 它将使得"互联网行业进入一个更先进的阶段, .NET不是一种编程语言. 简单说就是一组类库框架, .NET开发支持C#.VB.NET.J#.Jsript和Managed C++等. C#是.NET Framework框架支持的一种主力开发语言, 可用于开发ASP.NET网站, Windows 程序,控制台程序,甚至于手机软件 2.ASP.NET

  • asp防止上传图片木马原理解析

    首先判断文件大小: if file.filesize<10 then Response.Write("<script>alert('您没有选择上传文件')</script>") Response.Write("<script>history.go(-1)</script>") Response.End() end if 将文件上传到服务器后,判断用户文件中的危险操作字符: set MyFile = server.

  • 快速入门ASP.NET Core看这篇就够了

    本来这篇只是想简单介绍下ASP.NET Core MVC项目的(毕竟要照顾到很多新手朋友),但是转念一想不如来点猛的(考虑到急性子的朋友),让你通过本文的学习就能快速的入门ASP.NET Core.既然是快速入门所以过多过深的内容我这里就一笔带过了!然后在后面的一些列文章中再慢慢的对其中的概念进行阐述. .NET Core是什么 很多朋友看到.NET Core就认为是ASP.NET Core,其实这是有误区的,因为.NET Core 是开放源代码的通用开发平台 (是一个"平台"),基于

  • SpringBoot实战之高效使用枚举参数(原理篇)案例详解

    找入口 对 Spring 有一定基础的同学一定知道,请求入口是DispatcherServlet,所有的请求最终都会落到doDispatch方法中的ha.handle(processedRequest, response, mappedHandler.getHandler())逻辑.我们从这里出发,一层一层向里扒. 跟着代码深入,我们会找到org.springframework.web.method.support.InvocableHandlerMethod#invokeForRequest的

  • Java深入浅出掌握SpringBoot之MVC自动配置原理篇

    Spring Boot 为 Spring MVC 提供了自动配置,适用于大多数应用程序. 官方文档描述: 自动配置在 Spring 的默认值之上添加了以下功能: 从官方描述解析: If you want to keep Spring Boot MVC features and you want to add additionalMVC configuration (interceptors, formatters, view controllers, and other features), y

  • Android开发Jetpack组件Lifecycle原理篇

    目录 前言 1.Lifecycle的生命周期状态事件和状态 2.Lifecycle如何观察Activity和Fragment的生命周期 前言 在上一篇文章中,我们学习了如何去使用Lifecycle: 当然之会使用是不够的,还需要了解它的原理,这是成为优秀工程师必备的:这篇文章就来学习Lifecycle的基本原理 1.Lifecycle的生命周期状态事件和状态 **Lifecycle使用两个枚举来跟踪其关联组件的生命周期状态,这两个枚举分别是Event和State:**State指的是Lifecy

  • ASP漏洞全接触-进阶篇

    在入门篇,我们学会了SQL注入的判断方法,但真正要拿到网站的保密内容,是远远不够的.接下来,我们就继续学习如何从数据库中获取想要获得的内容,首先,我们先看看SQL注入的一般步骤: 第一节.SQL注入的一般步骤 首先,判断环境,寻找注入点,判断数据库类型,这在入门篇已经讲过了. 其次,根据注入参数类型,在脑海中重构SQL语句的原貌,按参数类型主要分为下面三种: (A) ID=49 这类注入的参数是数字型,SQL语句原貌大致如下: Select * from 表名 where 字段=49 注入的参数

随机推荐