我的代码,写的pagebase。还是留着吧,是这套cms的核心了。语义化,与我的云平台一样,只不过云平台是用js写的。这个是webform.下回写mvc吧。核心很简单。

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using JGDJWeb.Helper;
using JGDJWeb.Model;

namespace JGDJWeb.Extensions {
    public abstract class PageBase:System.Web.UI.Page {
        protected PageBase()
        {

        }
        protected void BindModule(Page page, Action<Repeater, string> bindSingRpt) {
            BindControls(page, "List_", bindSingRpt);
        }
        
        protected void BindControls(Page page, String prefix, Action<Repeater, string> bindSingControl) {
            var controlList = page.Controls;
            foreach (Control control in controlList) {
                if (control.ID != null && control.ID.StartsWith(prefix) && control is Repeater) {
                    var suffix = control.ID.Split(‘_‘)[1];
                    if (prefix == "List_")
                        bindSingControl(control as Repeater, suffix);
                }
            }
        }

        protected void Bind(string className, HtmlAnchor anchor, Repeater repeater, int count) {
            try {
                using (var context = new JGDJEntities()) {
                    var classNo = context.JY_News_Classs.Where(n => n.ClassCName == className).First().ClassNo;
                    var newss = Common.GetNewsListByCNo(Encrypt.MD5Encrypt(classNo));

                    if (anchor != null) {
                        anchor.HRef = "/List.aspx?ClassNo=" + Encrypt.MD5Encrypt(classNo);
                    }
                    repeater.DataSource = newss.Take(count);
                    repeater.DataBind();
                }
            } catch (Exception e) { }
        }

        #region 网站访问量
        protected void pageviews() {
            int count = 0;
            //数据累加
            int Stat = 0;
            StreamReader srd;
            //取得文件的实际路径
            string file_path = Server.MapPath("/XML/counter.txt");
            //打开文件进行读取
            srd = File.OpenText(file_path);
            while (srd.Peek() != -1) {
                string str = srd.ReadLine();
                count = int.Parse(str);
            }
            srd.Close();

            // 在新会话启动时运行的代码
            Application.Lock();

            //获取Application对象中保存的网站总访问量
            Stat = count;
            Stat += 1;
            object obj = Stat;
            Application["counter"] = obj;
            //将数据记录写入文件
            StreamWriter srw = new StreamWriter(file_path, false);
            srw.WriteLine(Stat);
            srw.Close();
            Application.UnLock();
        }
        #endregion
    }
}
时间: 2024-10-19 12:14:39

我的代码,写的pagebase。还是留着吧,是这套cms的核心了。语义化,与我的云平台一样,只不过云平台是用js写的。这个是webform.下回写mvc吧。核心很简单。的相关文章

WebForm中使用MVC

http://www.cnblogs.com/encoding/articles/3556046.html ************************************************************* 前言 掐指一算,3年没写博了,好懒的说... 众所周知,MVC现在越来越火了,不懂MVC的程序猿都不好意思说自己是搞网站开发的. 虽然MVC与WebForm各有所长,但是基于种种原因,很多用WebForm开发的网站需要转移到MVC上面来.但是,原有的系统上面有非常非常

写你的shell,其实很简单

引语:我本人以前并没有写过shell脚本,也许是因为懒,也许是没有被逼到要去写shell的地步.但是,前段时间,工作需求,要求重新跑几个月的脚本,这些脚本是每天定时进行跑的,而且每天是好几个脚本一起关联跑的.你也许会说,这太简单了,写个循环,然后,让他自己去跑就行了.是的,你可以很顺手的用的编程语言去写循环,如PHP,但是,你知道,这样做其实是改变了代码结构了,鬼知道会导致什么结果呢? 并且,我并不保证里面所有代码的意思,我都懂!那么,问题来了,在不改变原代码的前提下,怎样去循环这几个月的时间呢

【.NET特供-第三季】ASP.NET MVC系列:传统WebForm网站和MVC网站运行机制对比

本文以图形化的方式,从'运行机制'方面对比传统WebForm网站和MVC网站. 请参看以下图形: 一.运行机制 当我们访问一个网站的时候,浏览器和服务器都是做了哪些动作呢? (本文只是提供一个简单的运行过程,有兴趣的找资料研究一下复杂的网络过程.) (一)WebForm网站运行机制 假设为:www.baidu.com/index.aspx 1.Http请求(物理地址:index.aspx) ①发送请求 浏览器向服务器发送请求报文,此时由IIS虚拟目录接受.(通过配置过IIS,把网站挂载在服务器上

Python写的网络爬虫程序(很简单)

Python写的网络爬虫程序(很简单) 这是我的一位同学传给我的一个小的网页爬虫程序,觉得挺有意思的,和大家分享一下.不过有一点需要注意,要用python2.3,如果用python3.4会有些问题出现. python程序如下: import re,urllib strTxt="" x=1 ff=open("wangzhi.txt","r") for line in ff.readlines(): f=open(str(x)+".txt&

读书笔记:《写给大家看的面向对象设计》,《程序员的职业素养》,《设计模式其实很简单》

按照上次的计划 看了三本书,笔记现在才贴出来. <写给大家看的面向对象设计>: 使用接口开发的作用 规范函数命名,特别在项目人数比较多,在设计时,定了接口命名与参数. 可以把前台与后台的脱离.定义接口后,实现接口并返回模拟的数据,例如DataTable等,前台不需等后台就可以做UI与交互,改善UI与需要的数据,发现问题并不断完善接口.后台按照需求把数据库设计好了(如果是领域驱动开发,是Model创建),按照这个接口来开发功能,完成之后前台切换过来即可.前后台是并行开发. 便于单元测试的编写,其

angular.js的路由和模板在asp.net mvc 中的使用

我们知道angular.js是基于mvc 的一款优秀js框架,它也有一套自己的路由机制,和asp.net mvc 路由不太一样.asp.net mvc 的路由是通过不同的URL到不同的controller然后交给controller去呈现视图.但是在angular.js则是需要提前指定一个module(ng-app),然后去定义路由规则,通过不同的URL,来告诉ng-app 去加载哪个页面.再渲染到ng-view.通过angular.js路由的使用,可以很容易实现页面的局部刷新.更加高效的去创建

MVC其实很简单(Django框架)

Django框架MVC其实很简单 让我们来研究一个简单的例子,通过该实例,你可以分辨出,通过Web框架来实现的功能与之前的方式有何不同. 下面就是通过使用Django来完成以上功能的例子: 首先,我们分成4个Python的文件,(models.py , views.py , urls.py ) 和html模板文件 (latest_books.html ). models.py: # models.py (the database tables) from django.db import mod

前端工程师必须要知道的SEO技巧(2):制作比设计还要漂亮的代码(内容和语义化代码)上

前言:现在的网站设计,大多数不仅仅要求美观,前端代码往往发挥着重要的作用.这意味着很大一部分搜索引擎优化或搜索引擎优化责任应该落在设计师身上.然而,有大量的网页设计师不理解这个问题以及如何在建立一个网站初期就达到是完全的搜寻引擎优化.当然,要达到这个高度,肯定离不开学习.需要花费时间使用. 一.制作比设计还要漂亮的代码(语义化代码)其实就是在适当的位置使用适当的代码. 接下来,我举几个例子就能明白: H1~H6标签多用于标题. UL标签多用于无序列表. OL标签多用于有序列表. DL标签多用于定

如何让你的JavaScript代码更加语义化

语义化这个词在 HTML 中用的比较多,即根据内容的结构化选择合适的标签.起作用不容小觑: 赋予标签含义,让代码结构更加清晰,虽然我们可以在标签上添加 class 来标识,但这种通过属性来表示本体的形式会显得不够直接,而且在一定程度上也有冗余. 优化搜索引擎(SEO),结构良好的网页对搜索引擎的亲和力是很高的,百度和 google 也给出了很多网页结构化的建议(规范),方便他们抓取网页. 利于设备解析,如盲人阅读器对页面的分析,目前淘宝很多网页都是支持盲人阅读的,这种体验上的优化得利于网页的良好