代码改变世界

关于前台的页面我们后台输出

2011-04-08 09:30  沐海  阅读(4586)  评论(36编辑  收藏  举报

一。从后台直接输出HTML格式的内容。

二。我们一开始是在AJAX到后台,后台得到DATATABLE传递过来。然后对应的数据进行解析,JS输出到前台(带分页)。

 缺点:JS的内容容易被看到。

JS第一种格式:一条条数据,并带有对应的操作(删除,查看)等功能。)——很实用。列出数据并带有分页时。

/* ------------------------------------- 分页模块(编辑,删除,其他) ------------------------------------- */
function pager(page, maxPage, total, per, countsIsVisible, key, colum, utilUrl, editUrl, otherSetName, otherSetUrl)//分页的辅助方法
{
    //(请求的当前页,最大页数,总信息量,页的大小,详细分页信息是否可见,"关键字的<input/>ID",数据的列数,"字典表类型","后台处理类URL","添加或修改标题","添加或修改页面")

    var first = "<font style='font-size:12px'>首页</font>";
    var previous = "<font style='font-size:12px'>上一页</font>";
    var next = "<font style='font-size:12px'>下一页</font>";
    var last = "<font style='font-size:12px'>尾页</font>";

    var s = "<div id='pagerDiv' class='pager-block' style='width:100%;text-align:right'><div class='pager-links' style='float:left; text-align:left; font-family:courier new,sans-serif'>";

    //判断当前页是否是第一页,从而控制显示方式
    if (page == 1) {
        s += (first + " " + previous + " <b>");
    }
    else {
        if (first != "") s += ("<a href='javascript:getPageListSet(1,\"" + key + "\"," + colum + ",\"" + utilUrl + "\",\"" + editUrl + "\",\"" + otherSetName + "\",\"" + otherSetUrl + "\")'>" + first + "</a> ");
        s += ("<a href='javascript:getPageListSet(" + (page - 1) + ",\"" + key + "\"," + colum + ",\"" + utilUrl + "\",\"" + editUrl + "\",\"" + otherSetName + "\",\"" + otherSetUrl + "\")'>" + previous + "</a> <b>");
    }

    //判断:当总页数多于6页时,省略中间页码,只显示第一页和最后一页
    var j = (page - 5 < 1) ? 1 : page - 5;
    var k = (page + 5 > maxPage) ? maxPage : page + 5;
    //显示第一页
    if (j > 1) s += " <a href='javascript:getPageListSet(1,\"" + key + "\"," + colum + ",\"" + utilUrl + "\",\"" + editUrl + "\",\"" + otherSetName + "\",\"" + otherSetUrl + "\")'>1</a> ... ";
    //显示中间页码
    for (var i = j; i < k + 1; i++) {
        if (page == i) {
            s += ("<span class='t2'>" + i + "</span> ");
            continue;
        }
        s += ("<a href='javascript:getPageListSet(" + i + ",\"" + key + "\"," + colum + ",\"" + utilUrl + "\",\"" + editUrl + "\",\"" + otherSetName + "\",\"" + otherSetUrl + "\")'>" + i + "</a> ");
    }
    //显示最后一页
    if (maxPage > k) s += " ... <a href='javascript:getPageListSet(" + maxPage + ",\"" + key + "\"," + colum + ",\"" + utilUrl + "\",\"" + editUrl + "\",\"" + otherSetName + "\",\"" + otherSetUrl + "\")'>" + maxPage + "</a> ";
    //判断当前页是否是最后一页,从而控制显示方式
    if (page == maxPage) {
        s += ("</b>" + next + " " + last);
    }
    else {
        s += ("</b><a href='javascript:getPageListSet(" + (page + 1) + ",\"" + key + "\"," + colum + ",\"" + utilUrl + "\",\"" + editUrl + "\",\"" + otherSetName + "\",\"" + otherSetUrl + "\")'>" + next + "</a> ");

        if (last != "") s += ("<a href='javascript:getPageListSet(" + maxPage + ",\"" + key + "\"," + colum + ",\"" + utilUrl + "\",\"" + editUrl + "\",\"" + otherSetName + "\",\"" + otherSetUrl + "\")'>" + last + "</a>");
    }
    //根据输入的页号,直接显示该页数据
    s += " 转到 <input type='text'id='gotopage' name='gotopage' value='" + page + "' size='3' /> <input type='button'class='button' value='Go' style='height:19px;' onclick='ongoto(\"" + maxPage + "\",\"" + key + "\"," + colum + ",\"" + utilUrl + "\",\"" + editUrl + "\",\"" + otherSetName + "\",\"" + otherSetUrl + "\")' />";
    s += ("</div>");

    //控制“总记录”“每页”“总页数”的显示
    if (countsIsVisible) {
        s += ("<div class='pager-stat' style='float:lift;'>");
        s += ("总记录:<span class='t2'>" + total + "</span> ");
        s += ("每页:<span class='t2'>" + per + "</span> ");
        s += ("总页数:<span class='t2'>" + maxPage + "</span></div>");
    }
    s += "</div>";

    return s;
}
function ongoto(maxPage, key, colum, utilUrl, otherSetName, otherSetUrl)//直接跳转到设定好的某一页
{
    if(isDigits("gotopage")){
    var p = document.getElementById("gotopage").value;
    
    if(p!=0){
    p = (parseInt(p) > parseInt(maxPage)) ? maxPage : p;
    getPageListSet(p, key, colum, utilUrl, otherSetName, otherSetUrl);}
      else{
    alert("请输入正确的页码数字!");
        getPageListSet(1, key, colum, utilUrl, otherSetName, otherSetUrl);
 
    return false;
    }
    }
    else{
    alert("请输入正确的页码数字!");
        getPageListSet(1, key, colum, utilUrl, otherSetName, otherSetUrl);
 
    return false;
    }
}

function del(id, utilUrl, key, colum, otherSetName, otherSetUrl)//删除一条数据(id,"后台处理类","编辑页面","关键字的<input/>ID",数据列数,"字典表类型")
{
    if (confirm("您确定删除此条数据吗?")) {
        $.ajax({
            url: utilUrl,
            type: 'POST',
            data: "id=" + id + "&operationType=" + 3,
            dataType: 'json',
            timeout: 1000,
            error: function(data) { alert(data.result); },
            success: function(data) {
                alert(data.result);
            }

        });
        getPageListSet(document.getElementById("gotopage").value, key, colum, utilUrl, otherSetName, otherSetUrl);
    }
}
/* ------------------------------------- 查询,并返回分页信息(注意页面的命名规则,dataTb,pageTb分别是存放数据和存放分页信息的Table) ------------------------------------- */

function removeAll()   //清空容器中已经存在的数据(注意页面中的容器的命名规则)
{
    var t = document.getElementById("dataTb"); //数据容器
    var pageTb = document.getElementById("pageTb"); //分页信息容器

    for (var i = t.rows.length - 1; i >= 1; i--) {
        t.deleteRow(i);
    }
    for (var j = pageTb.rows.length - 1; j >= 0; j--) {
        pageTb.deleteRow(0);
    }
}

function getPageListSet(pageIndex, keyInputId, colum, utilUrl, otherSetName, otherSetUrl)//获取含有删除,修改,设置功能的分页数据(当前请求的页码,"关键字的<input/>ID",数据的列数,"后台处理类URL","添加或修改页面的URL","设置弹出表单的标题名称","查看详情页面对应的URL")
{
    var operationType = 1; //操作类型
    var pdata = "operationType=" + operationType + "&pageIndex=" + pageIndex; //操作字符串 参数传递

    if (keyInputId != "") {
        var xx = keyInputId.split(","); //获得关键字的数组
        for (var i in xx) {
            var keyi = xx[i];
            pdata += "&" + keyi + "=" + document.getElementById(keyi).value;  //遍历并添加 。因为这里要取到对应的值,所以 传递的是 ID值。
        }
    } else {
        var x = "";
        pdata += "&startTime=" + x + "&endTime=" + x + "&Question=" + x + "";  //若取不到。这里直接写为空
    }

    $.ajax({
        url: utilUrl, //后台处理类  
        //body  的是到  'QuestionUtil.aspx'
        type: "POST",
        data: pdata,
        dataType: "json",
        timeout: 1000,
        error: function(data) { /*alert("出现错误!或者是您没有权限!");*/ },
        success: function(data) {
            removeAll(); //首先清空网页中已经存在的历史数据

            if (data.result != null)//后台出现错误,返回的是"{result:'查询失败!'}",则提示错误信息
            {
                alert(data.result);
            }
            else {
                if (data.total == 0)//如果返回的数据数为0
                {
                    alert("您所要查询的数据不存在!");
                }
                else {

                    var table = document.getElementById("dataTb"); //获得显示数据的容器
                    var cell, row, shenhe;
                    var width = window.screen.availWidth;
                    var height = window.screen.availHeight;
                    var iRow;
                    //在容器中输出数据
                    for (iRow = 0; iRow < data.rows.length; iRow++) {//按行输出
                        row = table.insertRow(iRow + 1); //因为 TABLE的标头已经在HTML页面设置完成 所以每行都要 +1
                        row.setAttribute("onmouseover", "this.className='highlight'");
                        row.setAttribute("onmouseout", "this.className=''");

                        if (iRow % 2 != 0) {
                            row.style.background = "#DFEFFA";
                        } //设置奇数偶数行的背景不一样

                        for (var iCell = 0; iCell < colum + 1; iCell++) {  //按列输出  COLUM 是6 我们共有7 列  所以每列都要 +1
                            cell = row.insertCell(iCell); //从零到6  iCell < colum + 1 小于  7

                            if (iCell == 0) {
                                var tag = document.getElementById("tag").value;    //tag 赋值
                                id = data.rows[iRow].cell[5]; //ID 是传过来的 第六个值 从0开始
                                //编辑,删除,“查看详细内容是”从页面传递过来的参数设置的。

                                cell.innerHTML = "<a href='javascript:del(\"" + id + "\",\"" + utilUrl + "\",\"" + keyInputId + "\"," + colum + ",\"" + otherSetName + "\",\"" + otherSetUrl + "\")'>删除</a>|<a onclick=\"javascript:GB_myShow('" + otherSetName + "','" + otherSetUrl + "?id=" + id + "');\" href='javascript:void(0) '>" + otherSetName + "</a>";

                                cell.setAttribute("align", "center");
                                continue;
                            }
                            if (iCell == 1) {
                                //var isActive = data.rows[iRow].cell[0];
                                var check = data.rows[iRow].cell[6];
                                //                                if (isActive == "True") {
                                if (check == "审核通过" || check == "信审核通过" || check == "信审核通过回答") {
                                    cell.innerHTML = "<img src='http://www.cnblogs.com/OpanelStyle/img/check_right.gif'/>";
                                }

                                if (check == "审核未通过") {
                                    cell.innerHTML = "<img src='http://www.cnblogs.com/OpanelStyle/img/check_error.gif'/>";
                                }
                                //                                }
                                //                                else {
                                //                                    if (check == "未审核" || check == "信未审核") {
                                //                                        cell.innerHTML = "<lable><span style='color:Red'>未审核</span></lable>";
                                //                                    }
                                //                                }
                                cell.setAttribute("align", "center");
                                continue;
                            }
                            if (iCell == 2) {//标题
                                var Question = data.rows[iRow].cell[1];
                                if (Question.length >= 28) {
                                    Question = Question.substring(0, 28) + "...";
                                }
                                else {
                                    Question = data.rows[iRow].cell[1];
                                }

                                cell.innerHTML = Question;
                                cell.setAttribute("align", "center");
                                continue;
                            }
                            //                            if (iCell == 3) {//答案
                            //                                var answer = data.rows[iRow].cell[2];
                            //                                if (answer.length >= 35) {
                            //                                    answer = answer.substring(0, 35) + "...";
                            //                                }
                            //                                else {
                            //                                    answer = data.rows[iRow].cell[2];
                            //                                }

                            //                                cell.innerHTML = answer;
                            //                                cell.setAttribute("align", "center");
                            //                                continue;
                            //                            }
                            if (iCell == 5) {
                                var date = data.rows[iRow].cell[4];
                                date = date.substr(0, date.lastIndexOf(":"));
                                cell.innerHTML = date;
                                cell.setAttribute("align", "center");
                                continue;
                            }
                            cell.setAttribute("align", "center");
                            cell.appendChild(document.createTextNode(data.rows[iRow].cell[iCell - 1]));
                            cell = null;
                        }
                        row = null;
                    }

                    var pageTable = document.getElementById("pageTb"); //获得分页模块的容器
                    var pageIndex = data.page; //从后台获取索引页号
                    var total = data.total; //从后台获取总的数据量
                    var pageSize = 10; //页的大小
                    var maxPage = 0; //最大页
                    if (total % pageSize == 0)//计算最大页数
                    {
                        maxPage = Math.floor(total / pageSize);
                    } else {
                        maxPage = Math.floor(total / pageSize) + 1;
                    }

                    //输出分页模块
                    if (data.rows.length != 0) {
                        row1 = pageTable.insertRow(0);
                        cell = row1.insertCell(0);
                        row1.setAttribute("colspan", "11");
                        //调用pager(page, maxPage, total, per, countsIsVisible)获得分页模块,并从容器中输出
                        cell.innerHTML = pager(pageIndex, maxPage, total, pageSize, true, keyInputId, colum, utilUrl, otherSetName, otherSetUrl);
                    }
                }
            }
        }
    });
}


//刷新重置
function reset() {
    window.location.reload() ;
}

第二种方式:输出带图片的各种信息。不带操作。只是有对应的查看的超链接。(很实用。例如广告排名)

/* ------------------------------------- 分页模块(编辑,删除,其他) ------------------------------------- */
function pager(page, maxPage, total, per, countsIsVisible, key, colum, tableType, utilUrl)//分页的辅助方法
{
    //(请求的当前页,最大页数,总信息量,页的大小,详细分页信息是否可见,"关键字的<input/>ID",数据的列数,"字典表类型","后台处理类URL","添加或修改页面")

    var first = "<font style='font-size:12px'>首页</font>";
    var previous = "<font style='font-size:12px'>上一页</font>";
    var next = "<font style='font-size:12px'>下一页</font>";
    var last = "<font style='font-size:12px'>尾页</font>";

    var s = "<div id='pagerDiv' class='pager-block' style='width:100%;text-align:right'><div class='pager-links' style='float:left; text-align:left; font-family:courier new,sans-serif'>";

    //判断当前页是否是第一页,从而控制显示方式
    if (page == 1) {
        s += (first + " " + previous + " <b>");
    }
    else {
        if (first != "") s += ("<a href='javascript:getPageListSet(1,\"" + key + "\"," + colum + ",\"" + tableType + "\",\"" + utilUrl + "\")'>" + first + "</a> ");
        s += ("<a href='javascript:getPageListSet(" + (page - 1) + ",\"" + key + "\"," + colum + ",\"" + tableType + "\",\"" + utilUrl + "\")'>" + previous + "</a> <b>");
    }

    //判断:当总页数多于6页时,省略中间页码,只显示第一页和最后一页
    var j = (page - 5 < 1) ? 1 : page - 5;
    var k = (page + 5 > maxPage) ? maxPage : page + 5;
    //显示第一页
    if (j > 1) s += " <a href='javascript:getPageListSet(1,\"" + key + "\"," + colum + ",\"" + tableType + "\",\"" + utilUrl + "\")'>1</a> ... ";
    //显示中间页码
    for (var i = j; i < k + 1; i++) {
        if (page == i) {
            s += ("<span class='t2'>" + i + "</span> ");
            continue;
        }
        s += ("<a href='javascript:getPageListSet(" + i + ",\"" + key + "\"," + colum + ",\"" + tableType + "\",\"" + utilUrl + "\")'>" + i + "</a> ");
    }
    //显示最后一页
    if (maxPage > k) s += " ... <a href='javascript:getPageListSet(" + maxPage + ",\"" + key + "\"," + colum + ",\"" + tableType + "\",\"" + utilUrl + "\")'>" + maxPage + "</a> ";
    //判断当前页是否是最后一页,从而控制显示方式
    if (page == maxPage) {
        s += ("</b>" + next + " " + last);
    }
    else {
        s += ("</b><a href='javascript:getPageListSet(" + (page + 1) + ",\"" + key + "\"," + colum + ",\"" + tableType + "\",\"" + utilUrl + "\")'>" + next + "</a> ");

        if (last != "") s += ("<a href='javascript:getPageListSet(" + maxPage + ",\"" + key + "\"," + colum + ",\"" + tableType + "\",\"" + utilUrl + "\")'>" + last + "</a>");
    }
    //根据输入的页号,直接显示该页数据
    s += " 转到 <input type='text'id='gotopage' name='gotopage' value='" + page + "' size='3' /> <input type='button'class='button' value='Go' style='height:19px;' onclick='ongoto(\"" + key + "\"," + colum + ",\"" + tableType + "\",\"" + utilUrl + "\")' />";
    s += ("</div>");

    //控制“总记录”“每页”“总页数”的显示
    if (countsIsVisible) {
        s += ("<div class='pager-stat' style='float:lift;'>");
        s += ("总记录:<span class='t2'>" + total + "</span> ");
        s += ("每页:<span class='t2'>" + per + "</span> ");
        s += ("总页数:<span class='t2'>" + maxPage + "</span></div>");
    }
    s += "</div>";

    return s;
}
function isDigits(id)//验证字符串是否符合正整数格式
{

    var str = document.getElementById(id).value
    var regu = /^\d+$/;
    return regu.test(str);
}
function ongoto(key, colum, tableType, utilUrl)//直接跳转到设定好的某一页
{
    if (!isDigits("gotopage") || document.getElementById("gotopage").value == "0") {
        alert("请你正确选择页码!");
        window.location.reload();
    } else {
        getPageListSet(document.getElementById("gotopage").value, key, colum, tableType, utilUrl);
    }
}


/* ------------------------------------- 查询,并返回分页信息(注意页面的命名规则,dataTb,pageTb分别是存放数据和存放分页信息的Table) ------------------------------------- */

function removeAll()   //清空容器中已经存在的数据(注意页面中的容器的命名规则)
{
    var t = document.getElementById("dataTb"); //数据容器
    var pageTb = document.getElementById("pageTb"); //分页信息容器

    for (var i = t.rows.length - 1; i >= 1; i--) {
        t.deleteRow(i);
    }
    for (var j = pageTb.rows.length - 1; j >= 0; j--) {
        pageTb.deleteRow(0);
    }
}

function getPageListSet(pageIndex, keyInputId, colum, tableType, utilUrl)//获取含有删除,修改,设置功能的分页数据(当前请求的页码,"关键字的<input/>ID",数据的列数,"数据库表的类型","后台处理类URL","添加或修改页面","设置名称","设置页面")
{

    var operationType = 1; //操作类型
    var pdata = "operationType=" + operationType + "&pageIndex=" + pageIndex;


    //alert(tableType);
    $.ajax({
        url: utilUrl, //后台处理类
        type: "POST",
        data: pdata,
        dataType: "json",
        timeout: 4000,
        error: function(data) { alert("出现错误或者是您没有权限!"); },
        success: function(data) {
            removeAll(); //首先清空网页中已经存在的历史数据

            if (data.result != null)//后台出现错误,返回的是"{result:'查询失败!'}",则提示错误信息
            {
                alert(data.result);
            }
            else {
                if (data.total == 0)//如果返回的数据数为0
                {
                    alert("您所要查询的数据不存在!");
                }
                else {

                    var table = document.getElementById("dataTb"); //获得显示数据的容器
                    var cell, row;
                    var width = window.screen.availWidth;
                    var height = window.screen.availHeight;
                    var iRow;
                    //在容器中输出数据
                    for (iRow = 0; iRow < data.rows.length; iRow++) {

                        row = table.insertRow(iRow);
                        row.setAttribute("onmouseover", "this.style.backgroundColor='#F6F6F6'");
                        row.setAttribute("onmouseout", "this.style.backgroundColor=''");
                        var Id = data.rows[iRow].cell[10];
                        var title = data.rows[iRow].cell[0];
                        var beginDateTime = data.rows[iRow].cell[1];
                         var endDateTime = data.rows[iRow].cell[2];
                           var Photo = data.rows[iRow].cell[3];
                           
                        var ProvinceCaption = data.rows[iRow].cell[4];
                        var CityCaption = data.rows[iRow].cell[5];
                        
                        var Contents = data.rows[iRow].cell[6];
                        var LowNum = data.rows[iRow].cell[7];
                        var Memo = data.rows[iRow].cell[8];
                        var UserName = data.rows[iRow].cell[9];
                       
                        var beginDate = beginDateTime.substr(0, beginDateTime.lastIndexOf(" "));

                        var endDate = endDateTime.substr(0, endDateTime.lastIndexOf(" "));
                   
                        for (var iCell = 0; iCell < colum + 1; iCell++) {
                            cell = row.insertCell(iCell);

                            if (iCell == 0) {
                        
                                var str = "";
                                str += "<div class='play_list'><a href='ActivityDetail.aspx?Id=" + Id + "&DetailTyle=3'target='_blank'><img alt='" + title + "' border='0' height='98' width='148' src='" + Photo + "' /></a>";
                                str += " <h4 style ='text-align :left;'><small>[活动]</small> <span><a href='ActivityDetail.aspx?Id=" + Id + "&DetailTyle=3' target='_blank'>" + title + "</a></span></h4>";
                                str += "<div class='xq'><dl> <dt>时 间:</dt><dd style ='text-align :left;'>" + beginDate + "<span>至</span>" + endDate + "</dd></dl>";
                                str += "<dl><dt>地 点:</dt><dd style ='text-align :left;'>" + ProvinceCaption + "" + CityCaption + "</dd></dl><dl> <dt>组织者:</dt><dd style ='text-align :left;'>" + UserName + "</dd></dl></div>";
                                str += "<div  style ='text-align :left;'><a href='ActivityDetail.aspx?Id=" + Id + "&DetailTyle=3' class='wycj_button' target='_blank'><img  src='images/baoming.gif' /></a></div><div class='time'><span><em>1740</em>人已报名</span></div></div>";
                                cell.innerHTML = str;
                                cell.setAttribute("align", "center");
                                //cell.setAttribute("height", "30");
                                continue;
                            }

                            cell.setAttribute("align", "center");
                            //  cell.appendChild(document.createTextNode(data.rows[iRow].cell[iCell - 1]));

                            cell = null;
                        }
                        row = null;
                    }

                    var pageTable = document.getElementById("pageTb"); //获得分页模块的容器
                    var pageIndex = data.page; //从后台获取索引页号
                    var total = data.total; //从后台获取总的数据量
                    var pageSize = 10; //页的大小
                    var maxPage = 0; //最大页
                    if (total % pageSize == 0)//计算最大页数
                    {
                        maxPage = Math.floor(total / pageSize);
                    } else {
                        maxPage = Math.floor(total / pageSize) + 1;
                    }

                    //输出分页模块
                    if (data.rows.length != 0) {
                        row1 = pageTable.insertRow(0);
                        cell = row1.insertCell(0);
                        row1.setAttribute("colspan", "11");
                        //调用pager(page, maxPage, total, per, countsIsVisible)获得分页模块,并从容器中输出
                        cell.innerHTML = pager(pageIndex, maxPage, total, pageSize, true, keyInputId, colum, tableType, utilUrl);
                    }
                }
            }
        }
    });

}

三。把分页模块独立到后台。然后从后台输出HTML格式的此页码的数据。(带分页)。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using Web.Cpanel.Dics;
using DBUtility;

namespace Web
{
    public partial class DefaultTwo : System.Web.UI.Page
    {
        private int pageNum { get; set; }
        private int all { get; set; }
        database.BLL.TeacherOnline tbll = new database.BLL.TeacherOnline();
        database.Model.TeacherOnline tmodel = new database.Model.TeacherOnline();
        database.BLL.StudentOnline sbll = new database.BLL.StudentOnline();
        database.Model.StudentOnline smodel = new database.Model.StudentOnline();
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (Session["usertype"] == null)
                {
                    userType.Value = "";
                    LinkButton1.Visible = false;
                }
                else
                {
                    userType.Value = Session["usertype"].ToString();
                    LinkButton1.Visible = true;
                }
                Notice();//网站公告
                huobanP();//合作伙伴
                OperationType operationType = (OperationType)Enum.Parse(typeof(OperationType), Request["operationType"].ToString());//获取操作类型
                switch (operationType)
                {
                    case OperationType.Question://最新问题
                        type.Value = operationType.ToString();
                        QuestionNew();
                        break;
                    case OperationType.Picture://专家图片
                        type.Value = operationType.ToString();
                        PictureShow();
                        break;
                    case OperationType.Notice://网站公告
                        AllNotice();
                        break;
                    case OperationType.FNotice://网站分页公告方法 PAGE参数 第几页
                        try
                        {
                            int param = int.Parse(Request["page"].ToString());
                            AllNotice(param);
                        }
                        catch
                        { //Response.Write("<script type='text/javascript'>alert('请您输入正确的页码!');</script>"); AllNotice(1); }
                            Common.WebMessage.Show(this, "请您输入正确的页码!"); AllNotice();
                        }
                        break;
                    default:
                        break;
                }
            }
            catch
            {

            }
        }

        /// <summary>
        /// 网站公告(左侧公告)
        /// </summary>
        public void Notice()
        {
            string sql = "select Id,Title from SiteNotice order by CreateTime DESC";
            DataTable dt = DBUtility.DbHelperSQL.Query(sql).Tables[0];
            if (dt.Rows.Count < 4)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    if (dt.Rows[i]["Title"].ToString().Length > 10)
                    {
                        dt.Rows[i]["Title"] = dt.Rows[i]["Title"].ToString().Substring(0, 10) + "......";
                    }
                    else
                    {
                        dt.Rows[i]["Title"] = dt.Rows[i]["Title"].ToString();
                    }
                    notice.InnerHtml += "<li><a href='DefaultThird.aspx?operationType=7&Id=" + dt.Rows[i]["Id"].ToString() + "'>" + dt.Rows[i]["Title"].ToString() + "</a></li>";

                }
            }
            else
            {
                for (int i = 0; i < 4; i++)
                {
                    if (dt.Rows[i]["Title"].ToString().Length > 10)
                    {
                        dt.Rows[i]["Title"] = dt.Rows[i]["Title"].ToString().Substring(0, 10) + "......";
                    }
                    else
                    {
                        dt.Rows[i]["Title"] = dt.Rows[i]["Title"].ToString();
                    }
                    notice.InnerHtml += "<li><a href='DefaultThird.aspx?operationType=7&Id=" + dt.Rows[i]["Id"].ToString() + "'>" + dt.Rows[i]["Title"].ToString() + "</a></li>";

                }
            }
        }

        /// <summary>
        /// 最新问题
        /// </summary>
        public void QuestionNew()
        {
            try
            {
                Photo.InnerHtml = "<span><img alt='' src='../OpanelStyle/img/title_2.gif' /></span><div><a href='Default.aspx'>首页</a> ><span>最新提问</span></div>";//导航图片及文字显示
                Information.InnerHtml = "<ul><li><a href='DefaultTwo.aspx?operationType=5' class='hover'>最新提问</a></li><li><a href='DefaultTwo.aspx?operationType=6'>专家风采</a></li><li><a href='DefaultTwo.aspx?operationType=7'>网站公告</a></li></ul>";//信息中心高亮显示
                int i = 0;
                string sql = "select top(15) Id,Question,Answer,CreateTime from QuestionInfo where Answer<>'' order by CreateTime desc";
                DataTable dt = DBUtility.DbHelperSQL.Query(sql).Tables[0];
                string Question = "";

                if (dt.Rows.Count < 20)
                {
                    for (i = 1; i < dt.Rows.Count + 1; i++)
                    {
                        if (dt.Rows[i - 1]["Question"].ToString().Length > 28)
                        {//当问题超过28个字时,多余字用"....."代替
                            Question = dt.Rows[i - 1]["Question"].ToString().Substring(0, 30) + "......";
                        }
                        else
                        {
                            Question = dt.Rows[i - 1]["Question"].ToString();
                        }
                        question.InnerHtml += "<li><a href='DefaultThird.aspx?operationType=5&Id=" + dt.Rows[i - 1]["Id"].ToString() + "'>" + i + "." + Question + "</a><span>" + dt.Rows[i - 1]["CreateTime"].ToString() + "</span></li>";
                    }
                }
                else
                {
                    for (i = 1; i < 21; i++)
                    {
                        if (dt.Rows[i - 1]["Question"].ToString().Length > 28)
                        {//当问题超过28个字时,多余字用"....."代替
                            Question = dt.Rows[i - 1]["Question"].ToString().Substring(0, 30) + "......";
                        }
                        else
                        {
                            Question = dt.Rows[i - 1]["Question"].ToString();
                        }
                        question.InnerHtml += "<li><a href='DefaultThird.aspx?operationType=5&Id=" + dt.Rows[i - 1]["Id"].ToString() + "'>" + i + "." + Question + "</a><span>" + dt.Rows[i - 1]["CreateTime"].ToString() + "</span></li>";
                    }
                }
            }
            catch
            {

            }
        }

        /// <summary>
        /// 合作伙伴
        /// </summary>
        public void huobanP()
        {

            try
            {
                DataTable dt = DBUtility.DbHelperSQL.Query("select ComName,ComPage,Photo from FriendsLinks where IsActive='true'").Tables[0];
                if (dt.Rows.Count < 5)
                {
                    int k = dt.Rows.Count;
                    for (int g = 0; g < k; g++)
                    {
                        huoban.InnerHtml +=
                          "<li><a href='" + dt.Rows[g]["ComPage"].ToString() + "' target='_blank'><img src='" + dt.Rows[g]["Photo"].ToString() + "' alt='" + dt.Rows[g]["ComName"].ToString() + "' width ='160' height='68'/></a>";
                    }
                    while (k < 5)
                    {
                        huoban.InnerHtml +=
                           "<li><a href='http://www.baidu.com' target='_blank'><img src='App_Themes/images/nopic.gif' alt='在线答疑' width ='160' height='68'/></a>";
                        k++;
                    }
                }



                if (dt.Rows.Count == 5)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {

                        huoban.InnerHtml +=
                            "<li><a href='" + dt.Rows[i]["ComPage"].ToString() + "' target='_blank'><img src='" + dt.Rows[i]["Photo"].ToString() + "' alt='" + dt.Rows[i]["ComName"].ToString() + "' width ='160' height='68'/></a>";

                    }
                }

            }
            catch
            {


            }
        }

        /// <summary>
        /// 专家图片
        /// </summary>
        public void PictureShow()
        {
            try
            {
                Photo.InnerHtml = "<span><img alt='' src='../OpanelStyle/img/title_1.gif' /></span><div><a href='Default.aspx'>首页</a> ><span>专家风采</span></div>";//导航图片及文字显示
                Information.InnerHtml = "<ul><li><a href='DefaultTwo.aspx?operationType=5'>最新提问</a></li><li><a href='DefaultTwo.aspx?operationType=6' class='hover'>专家风采</a></li><li><a href='DefaultTwo.aspx?operationType=7'>网站公告</a></li></ul>";//信息中心高亮显示

                int i = 0;
                //string sql1 = "select  UserName,RealName,Photo,Memo from TeacherUser where UserName in (select top 10 UserName from TeacherUser order by NewId()) order by UserName ASC";//头像,用户名查询语句  排序需求 双重嵌套  NEWID 是排序 不能和 ASC 一起
               // string sql1 = "select  UserName,RealName,Photo,SubjectId from V_TeacherSubject where UserName in (select top 10 UserName from TeacherUser order by NewId())";
                string sql1 = "select top (10) UserName,RealName,Photo,SubjectId from V_TeacherSubject order by NewId()";
                DataTable dt1 = DBUtility.DbHelperSQL.Query(sql1).Tables[0];
                string sql3 = "select Id,Caption from D_Subject";
                DataTable dt3 = DBUtility.DbHelperSQL.Query(sql3).Tables[0];

                picture.InnerHtml = "";
                string[] SubCollect = new string[10];
                for (i = 0; i < 10; i++)
                {
                    SubCollect[i] = "";
                    string[] Split = dt1.Rows[i]["SubjectId"].ToString().Split(new char[] { ',' });

                    for (int k = 0; k < dt3.Rows.Count; k++)
                    {
                        for (int j = 0; j < Split.Length; j++)
                        {
                            if (j == 1) { break; }
                            if (dt3.Rows[k]["Id"].ToString().Equals(Split[j]))
                            {
                                SubCollect[i] = SubCollect[i] + dt3.Rows[k]["Caption"].ToString() + ",";
                            }
                        }

                    }

                    Split = null;
                    SubCollect[i] = SubCollect[i].ToString().Substring(0, SubCollect[i].ToString().Length - 1);
                    picture.InnerHtml +=
                       "<li><a href='DefaultThird.aspx?operationType=6&UserName=" + dt1.Rows[i]["UserName"].ToString() + "' target='_blank'><img src='" + dt1.Rows[i]["photo"].ToString() + "' width='120' height='120'></a><p><a href='DefaultThird.aspx?operationType=6&UserName=" + dt1.Rows[i]["UserName"].ToString() + "' target='_blank'>" + dt1.Rows[i]["RealName"].ToString() + "</a></p><center><p>主 讲:<span>" + SubCollect[i] + "</span></p></center></li>";
                }
                SubCollect = null;
            }
            catch
            {

            }
        }
        /// <summary>
        /// 网站公告
        /// </summary>
        public void AllNotice()
        {
            try
            {
                Photo.InnerHtml = "<span><img alt='' src='../OpanelStyle/img/title_4.gif' /></span><div><a href='Default.aspx'>首页</a> ><span>网站公告</span></div>";//导航图片及文字显示
                Information.InnerHtml = "<ul><li><a href='DefaultTwo.aspx?operationType=5'>最新提问</a></li><li><a href='DefaultTwo.aspx?operationType=6'>专家风采</a></li><li><a href='DefaultTwo.aspx?operationType=7'  class='hover'>网站公告</a></li></ul>";//信息中心高亮显示
                if (pageNum < 1) { pageNum = 1; }
                if (all < 1)
                {
                    all = Convert.ToInt32(DbHelperSQL.GetSingle("select count(1) from SiteNotice where 1=1", null));
                }
                int maxPage;
                if (all % 10 == 0)//计算最大页数
                {
                    maxPage = (all / 10);
                }
                else
                {
                    maxPage = (all / 10) + 1;
                }

                DataTable dt = DBUtility.DbHelperSQL.QueryByPage("SiteNotice", "Id,Title,CreateTime", "Id", "CreateTime", 10, pageNum, "asc", "1=1").Tables[0];//取出指定页面的数据
                if (dt.Rows.Count != 0)
                {
                    for (int i = 1; i < dt.Rows.Count + 1; i++)
                    {
                        pager.InnerHtml += "<li><a href='DefaultThird.aspx?operationType=7&Id=" + dt.Rows[i - 1]["Id"].ToString() + "'>" + i + "." + dt.Rows[i - 1]["Title"].ToString() + "</a><span style='left'>" + dt.Rows[i - 1]["CreateTime"].ToString() + "</span></li>";
                    }

                    pageList(maxPage);
                }

            }
            catch
            {

            }
        }
        /// <summary>
        /// 网站公告分页数据
        /// </summary>
        public void AllNotice(int i)//参数 第几页 
        {

            try
            {
                Photo.InnerHtml = "<span><img alt='' src='../OpanelStyle/img/title_4.gif' /></span><div><a href='Default.aspx'>首页</a> ><span>网站公告</span></div>";//导航图片及文字显示
                Information.InnerHtml = "<ul><li><a href='DefaultTwo.aspx?operationType=5'>最新提问</a></li><li><a href='DefaultTwo.aspx?operationType=6'>专家风采</a></li><li><a href='DefaultTwo.aspx?operationType=7'  class='hover'>网站公告</a></li></ul>";//信息中心高亮显示
                pageNum = i;
                all = Convert.ToInt32(DbHelperSQL.GetSingle("select count(1) from SiteNotice where 1=1", null));
                if (all != 0)
                {
                    int maxPage;
                    if (all % 10 == 0)//计算最大页数
                    {
                        maxPage = (all / 10);
                    }
                    else
                    {
                        maxPage = (all / 10) + 1;
                    }
                    if (pageNum < 1) { pageNum = 1; }
                    if (pageNum > maxPage) { pageNum = maxPage; }
                    DataTable dt = DBUtility.DbHelperSQL.QueryByPage("SiteNotice", "Id,Title,CreateTime", "Id", "CreateTime", 10, pageNum, "asc", "1=1").Tables[0];//取出指定页面的数据
                    if (dt.Rows.Count != 0)
                    {
                        for (int s = 1; s < dt.Rows.Count + 1; s++)
                        {

                            pager.InnerHtml += "<li><a href='DefaultThird.aspx?operationType=7&Id=" + dt.Rows[s - 1]["Id"].ToString() + "'>" + s + "." + dt.Rows[s - 1]["Title"].ToString() + "</a><span style='left'>" + dt.Rows[s - 1]["CreateTime"].ToString() + "</span></li>";

                        }


                        pageList(maxPage);
                    }
                }
                else { Response.Write("<script type='javascript'>alert('没有对应数据!');</script>"); };//输出没有相应数据

            }
            catch
            {

            }
        }


        /// <summary>
        /// 退出系统
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void LinkButton1_Click(object sender, EventArgs e)
        {
            System.Web.Security.FormsAuthentication.SignOut();//从浏览器删除Forms身份验证票据
            Session.Abandon();
            Response.Redirect("/Default.aspx");
            //if (Session["usertype"].ToString() == "student")
            //{
            //    DataTable dt = DBUtility.DbHelperSQL.Query("select * from StudentOnline where UserName='" + Session["username"] + "'").Tables[0];
            //    if (dt.Rows.Count > 0)
            //    {
            //        smodel = sbll.GetModel(int.Parse(dt.Rows[0]["Id"].ToString()));
            //        smodel.Online = false;
            //        smodel.ExitTime = DateTime.Now;
            //        smodel.UpdateTime = DateTime.Now;
            //        sbll.Update(smodel);
            //    }
            //}
            //if (Session["usertype"].ToString() == "teacher")
            //{
            //    DataTable dt = DBUtility.DbHelperSQL.Query("select * from TeacherOnline where UserName='" + Session["username"] + "'").Tables[0];
            //    if (dt.Rows.Count > 0)
            //    {
            //        tmodel = tbll.GetModel(int.Parse(dt.Rows[0]["Id"].ToString()));
            //        tmodel.Online = false;
            //        tmodel.ExitTime = DateTime.Now;
            //        tmodel.UpdateTime = DateTime.Now;
            //        tbll.Update(tmodel);
            //    }
            //}
        }

        /// <summary>
        /// 分页模块
        /// </summary>
        /// <param name="maxPage"></param>
        protected void pageList(int maxPage)
        {
            string s = string.Empty;
            string first = "<font style='font-size:12px'>首页</font>";
            string previous = "<font style='font-size:12px'>上一页</font>";
            string next = "<font style='font-size:12px'>下一页</font>";
            string last = "<font style='font-size:12px'>尾页</font>";
            //判断当前页是否是第一页,从而控制显示方式
            if (pageNum == 1)
            {
                s += (first + " " + previous + " <b>");
            }
            else
            {
                if (first != "")
                    s += ("<a href='DefaultTwo.aspx?operationType=11&page=1'>" + first + "</a> ");
                s += ("<a href='DefaultTwo.aspx?operationType=11&page=" + (pageNum - 1) + "'>" + previous + "</a> <b>");
            }
            //判断:当总页数多于6页时,省略中间页码,只显示第一页和最后一页
            int j = (pageNum - 5 < 1) ? 1 : pageNum - 5;
            int k = (pageNum + 5 > maxPage) ? maxPage : pageNum + 5;

            //显示第一页
            if (j > 1)
                s += "<a href='DefaultTwo.aspx?operationType=11&page=1'><font style='font-size:12px'>1</font></a> ... ";
            //显示中间页码
            for (int i = j; i < k + 1; i++)
            {
                if (pageNum == i)
                {
                    s += ("<span><font style='font-size:12px'>" + i + "</font></span> ");
                    continue;
                }
                s += ("<a href='DefaultTwo.aspx?operationType=11&page=" + i + "'><font style='font-size:12px'>" + i + "</font></a> ");
            }
            //显示最后一页
            if (maxPage > k)
                s += " ... <a href='DefaultTwo.aspx?operationType=11&page=" + maxPage + "'>" + maxPage + "</a> ";
            //判断当前页是否是最后一页,从而控制显示方式
            if (pageNum == maxPage)
            {
                s += ("</b>" + next + " " + last);
            }
            else
            {
                s +=
                ("</b><a href='DefaultTwo.aspx?operationType=11&page=" + (pageNum + 1) + "'>" + next + "</a> ");

                if (last != "") s +=
                ("<a href='DefaultTwo.aspx?operationType=11&page=" + maxPage + "'>" + last + "</a>");
            }
            //根据输入的页号,直接显示该页数据
            s += "<font style='font-size:12px'> 转到</font> <input type='text'id='gotopage' name='gotopage' value='" + pageNum + "' size='2' /> <input type='button'class='button' value='Go' style='height:22px;' onclick='go();'/>";
            //控制“总记录”“每页”“总页数”的显示

            s += ("<span  style='margin-left:320px'></span><font style='font-size:12px'>总记录:</font><span  style='margin-left:10px'><font style='font-size:12px'>" + all + "</font></span> ");
            s += ("<font style='font-size:12px'>共</font><span  style='margin-left:4px'><font style='font-size:12px'>" + maxPage + "</font></span><font style='font-size:12px'>页</font></div>");

            pageAll.InnerHtml = "<hr/><table width='100%' class='maintable' cellpadding='0' cellspacing='1' border='0' id='Table1'>'" + s + "'</table>";
        }
    }
}

四.所有输出的数据后台 集成到 ACTION.ASPX.CS 这一个类中。然后用 ENUM的数据来进行规范。再通过switch 来选择出对应的方法。

  protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                string type = Request["optype"].ToString();
                switch (type.ToLower())
                {
                    case "querystudent":
                        querystudent();
                        break;
                    case "checksubmit"://客观题核分
                        checksubmit();
                        break;
                    case "checksubscore":
                        checksubscore();
}
}
}



 /// <summary>
        /// 科目查询
        /// </summary>
        private void querycaption()
        {
            com.sdnu902.BLL.D_Subject bll = new com.sdnu902.BLL.D_Subject();
            DataTable dt = bll.GetAllList().Tables[0];

            StringBuilder sb = new StringBuilder();
            sb.Append("<thead><tr>");
            sb.Append("<th>科目</th><th>操作</th>");
            sb.Append("</tr></thead><tbody>");

            if (dt.Rows.Count <= 0)
            {
                sb.Append("<tr><td colspan='5'>无数据信息</td></tr>");
            }
            else
            {
                foreach (DataRow row in dt.Rows)
                {
                    sb.Append("<tr id='" + row["id"].ToString() + "'>");
                    sb.Append("<td>" + row["caption"].ToString() + "</td>");
                    sb.Append("<td><a href='javascript:modify(\"" + row["ID"].ToString() + "\")'>修改</a>|<a href='javascript:del(\"" + row["ID"].ToString() + "\")'>删除</a></td>");
                    sb.Append("</tr>");
                }
            }

            sb.Append("</tbody>");

            showHTML(sb.ToString());
        }


        /// <summary>
        /// 删除科目
        /// </summary>
        private void delcaption()
        {
            string id = Request["id"];
            com.sdnu902.BLL.D_Subject bll = new com.sdnu902.BLL.D_Subject();
            try
            {
                bll.Delete(new Guid(id));
                showMsg("删除成功");
            }
            catch
            {
                showMsg("删除失败");
            }
        }
        /// <summary>
        /// 修改科目
        /// </summary>


        private void  getCaption()
        {
            string sid = Request["id"];
            if (!String.IsNullOrEmpty(sid))
            {
                com.sdnu902.BLL.D_Subject bll = new com.sdnu902.BLL.D_Subject();
                com.sdnu902.Model.D_Subject model = new com.sdnu902.Model.D_Subject();

                model = bll.GetModel(Guid.Parse(sid));
                string json = com.sdnu902.Common.JsonHelper.ObjectToJson(model).ToLower();
                showJson(json);
            }
        }


        /// <summary>
        /// 保存科目(添加 和 修改)
        /// </summary>

        private void  savecaption()
        {
            com.sdnu902.BLL.D_Subject bll = new com.sdnu902.BLL.D_Subject();
            com.sdnu902.Model.D_Subject model = new com.sdnu902.Model.D_Subject();

            string id = Request["id"];

            model.caption = Request["addCaption"];
            try
            {
                if (string.IsNullOrEmpty(id))//add
                {
                    model.id = System.Guid.NewGuid();
                    bll.Add(model);
                    showMsg("添加成功");
                }
                else//modify
                {
                    model.id = Guid.Parse(id);
                    bll.Update(model);
                    showMsg("修改成功");
                }
            }
            catch
            {
                showMsg("保存失败");
            }
        }

  

其调用的一些输出HTML 和 JSON的方法

#region functions

        /// <summary>
        /// 向前台返回html格式信息
        /// </summary>
        /// <param name="msg">要显示的信息</param>
        private void showHTML(string html)
        {
            Response.ContentType = "text/html";

            Response.Write(html);
            Response.Flush();
            Response.Close();
        }

        /// <summary>
        /// 向前台返回json格式的提示信息
        /// </summary>
        /// <param name="msg">要提示的信息</param>
        private void showMsg(string msg)
        {
            msg = msg.Replace("\n", "\\n");//避免回车换行等特殊字符对json格式的影响
            msg = msg.Replace("\r", "\\r");

            string st = "{\"result\":\"" + msg + "\"}";
            Response.ContentType = "application/json";

            Response.Write(st);
            Response.Flush();
            Response.Close();
        }

        /// <summary>
        /// 向前台输出json数据
        /// </summary>
        /// <param name="msg">定义好的json格式数据</param>
        private void showJson(string msg)
        {
            msg = msg.Replace("\n", "\\n");
            msg = msg.Replace("\r", "\\r");

            Response.ContentType = "application/json";

            Response.Write(msg);
            Response.Flush();
            Response.Close();
        }

        #endregion
记录生活、工作、学习点滴!
E-Mail:mahaisong@hotmail.com 欢迎大家讨论。
沐海博客园,我有一颗,卓越的心!