zoukankan      html  css  js  c++  java
  • 关于前台的页面我们后台输出

    一。从后台直接输出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='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='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
    
  • 相关阅读:
    3D切割轮播图
    网站公共部分的复用
    Git的安装及布置
    完整轮播图
    百度检索例子
    第五章 pycharm编辑器安装和使用
    第四章 散列类型的方法
    第一章 认识爬虫以及环境安装
    主机访问Ubuntu虚拟机的jupyter
    12306购票的testerSunshine带源码刷票
  • 原文地址:https://www.cnblogs.com/mahaisong/p/2008992.html
Copyright © 2011-2022 走看看