01List.ashx(班级列表动态页面)

01List.html
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<style type="text/css">
#tbList {
border:1px solid #0094ff;
border-collapse:collapse;
width:500px;
margin:50px auto;
}
#tbList th,td{
border:1px solid #0094ff;
padding:5px;
}
</style>
<script type="text/javascript">
function doDel(id)
{
if (confirm("您确定要删除吗?"))
{
window.location = "03Del.ashx?id=" + id;
}
}
</script>
</head>
<body>
<a href="04Add.html">新增</a>
<table id="tbList">
<tr>
<th>Id</th>
<th>名称</th>
<th>人数</th>
<th>操作</th>
</tr>
<!--用户自定义占位符-->
@{表格内容}
</table>
</body>
</html>
01List.ashx
using System;
using System.Collections.Generic;
using System.Data;
using System.Web; namespace AspNetAshx
{
/// <summary>
/// 班级列表动态页面
/// </summary>
public class _01List : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
//context.Response.ContentType = "text/html";
//1.读取模版数据
string strHtml = CommonHelper.GetFileContent("01List.html");
//2.读取数据库
DataTable dt = SqlHelper.GetTable("select * from Classes where CIsDel = 0");
System.Text.StringBuilder sbHtml = new System.Text.StringBuilder();
//3.生成 表格行字符串
if (dt.Rows.Count > )
{
foreach (DataRow dr in dt.Rows)
{
sbHtml.Append("<tr>");
sbHtml.Append("<td>");
sbHtml.Append(dr["cId"]);
sbHtml.Append("</td>");
sbHtml.Append("<td>");
sbHtml.Append("<a href='07GetClassDetail.ashx?id=" + dr["cId"] + "'>" + dr["cName"] + "</a>");
sbHtml.Append( dr["cName"] );
sbHtml.Append("</td>");
sbHtml.Append("<td>");
sbHtml.Append(dr["cCount"]);
sbHtml.Append("</td>");
sbHtml.Append("<td>");
sbHtml.Append("<a href='javascript:doDel("+dr["cid"]+")'>删</a> <a href='02Modify.ashx?id="+dr["cid"]+"'>改</a>");
sbHtml.Append("</td>");
sbHtml.Append("</tr>");
}
}
//4.将 表格行字符串 替换到 模版占位符 处
strHtml = strHtml.Replace("@{表格内容}", sbHtml.ToString());
//5.将替换后的模版字符串 发给 浏览器
context.Response.Write(strHtml);
} public bool IsReusable
{
get
{
return false;
}
}
}
}
01List.ashx(班级列表动态页面)的更多相关文章
- Hawk 3.1 动态页面,ajax,瀑布流
不少朋友反映,Hawk的手气不错,好像没法处理动态页面.其实很容易,比其他软件都容易,让我慢慢道来. 1. 什么是动态页面 很多网站,在刷新的时候会返回页面的全部内容,但实际上只需要更新一部分,这样可 ...
- Spring MVC 学习总结(七)——FreeMarker模板引擎与动态页面静态化
模板引擎可以让程序实现界面与数据分离,业务代码与逻辑代码的分离,这就提升了开发效率,良好的设计也使得代码复用变得更加容易.一般的模板引擎都包含一个模板解析器和一套标记语言,好的模板引擎有简洁的语法规则 ...
- Apache指南:CGI动态页面
概要 相关模块 相关指令 mod_alias mod_cgi AddHandler Options ScriptAlias CGI(公共网关接口[Common Gateway Interface])定 ...
- phantomjs 爬去动态页面
最近有一个小需求,需要根据用户输入的某宝的店铺 url,检查地址是否存在,并抓取店铺名称.某宝店铺 url 的 title 通常是 xx-xx-xx 的形式,中间的 xx 就是对应的店铺名称. 这个需 ...
- Python爬虫-05:Ajax加载的动态页面内容
1. 获取AJAX加载动态页面的内容 1.1. Introduction 如果所爬取的网址是通过Ajax方式加载的,就直接抓包,拿他后面传输数据的文件 有些网页内容使用AJAX加载,只要记得,AJAX ...
- STRUTS2配置动态页面
STRUTS2配置动态页面 CreateTime--2017年5月11日09:00:31Author:Marydon 1.struts配置 <?xml version="1.0&q ...
- 爬虫之动态HTML处理(Selenium与PhantomJS )动态页面模拟点击
动态页面模拟点击 #!/usr/bin/env python # -*- coding:utf-8 -*- # python的测试模块 import unittest from selenium im ...
- js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符
js中对arry数组的各种操作小结 最近工作比较轻松,于是就花时间从头到尾的对js进行了详细的学习和复习,在看书的过程中,发现自己平时在做项目的过程中有很多地方想得不过全面,写的不够合理,所以说啊 ...
- Asp.net动态页面静态化之初始NVelocity模板引擎
Asp.net动态页面静态化之初始NVelocity模板引擎 静态页面是网页的代码都在页面中,不须要运行asp,php,jsp,.net等程序生成client网页代码的网页,静态页面网址中一般不含&q ...
随机推荐
- Spark2.3(三十七):Stream join Stream(res文件每天更新一份)
kafka测试数据生成: package com.dx.kafka; import java.util.Properties; import java.util.Random; import org. ...
- CucumberPeople 1.3.2 发布
CucumberPeople 网站: http://alterhu.github.io/CucumberPeople/ This eclipse plugin based on RubyMine ,a ...
- 一张图作为Python入门(图片来自网络)
- java Serializable和Externalizable序列化反序列化详解(转载)
一.什么是序列化? “对象序列化”(Object Serialization)是 Java1.1就开始有的特性. 简单地说,就是可以将一个对象(标志对象的类型)及其状态转换为字节码,保存起来(可以保存 ...
- 微信公众号 几种移动端UI框架介绍
微信公众号开发,主要是移动端网页的页面开发,在这里推荐3个移动端UI框架:WeUI.SUI和Mint UI. 1. WeUI 1.1 WeUI WeUI是微信官方设计团队为微信 Web 开发量身设计, ...
- 【Tomcat】Tomcat 系统架构与设计模式,第 2 部分: 设计模式分析
这个分为两个部分的系列文章研究了 Apache Tomcat 服务器的系统架构以及其运用的很多经典设计模式.第 1 部分 分析了 Tomcat 的工作原理,第 2 部分将分析 Tomcat 中运用的许 ...
- Android 实时录音和回放,边录音边播放 (KTV回音效果)
上一篇介绍了如何使用Mediarecorder来录音,以及播放录音.不过并没有达到我的目的,一边录音一边播放.今天就讲解一下如何一边录音一边播放.使用AndioRecord录音和使用AudioTrac ...
- 【iCore4 双核心板_ARM】例程二:读取ARM按键状态
实验原理: 按键的一端与STM32 PB9相连,另外一端接地,且PB9外接一个1K电阻大小的上拉电阻, 初始化时把PB9设置成输入模式,当按键弹起时,PB9由于上拉电阻的作用呈高电平(3.3V): 当 ...
- hdoj:2037
#include <iostream> using namespace std; struct Time { int start; int end; }; Time times[]; ]; ...
- 【转】WPF自定义控件与样式(6)-ScrollViewer与ListBox自定义样式
一.前言 申明:WPF自定义控件与样式是一个系列文章,前后是有些关联的,但大多是按照由简到繁的顺序逐步发布的等. 本文主要内容: ScrollViewer的样式拆解及基本样式定义: ListBox集合 ...