您的位置:首页 > 其它

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

2011-04-08 09:30 239 查看
一。从后台直接输出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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐