02Modify.ashx(修改班级信息)
02Modify.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:300px;
margin:50px auto;
}
#tbList th,td{
border:1px solid #0094ff;
padding:5px;
}
</style>
</head>
<body>
<form method="post" action="02Modify.ashx">
<table id="tbList">
<tr>
<td>班级名称:</td>
<td><input type="text" id="txtName" name="txtName" value="@{name}" /></td>
</tr>
<tr>
<td>班级人数:</td>
<td><input type="text" id="txtCount" name="txtCount" value="@{count}" /></td>
</tr>
<tr>
<td colspan="">
<input type="submit" value="确定" />
<input type="button" id="btnCancel" value="取消" onclick="window.location='01List.ashx'" />
</td>
</tr>
</table>
<input type="hidden" name="txtId" value="@{id}" />
</form>
</body>
</html>
02Modify.ashx
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient; namespace AspNetAshx
{
/// <summary>
/// 修改的 班级数据
/// </summary>
public class _02Modify : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/html";
//重要:因为当前页面,有两个业务:
//1.根据id展示要修改的数据(get请求)
//2.是接受用户在表单中修改后的新的数据,并更新到数据库中(post请求) if (context.Request.HttpMethod.ToLower() == "get")//get过来,执行业务一
{
BusOne();//查询并生成 修改页面
}
else//post过来,执行业务二
{
DoModify();
}
} #region 1.0业务一、查询并生成 修改页面 -void BusOne()
/// <summary>
/// 查询并生成 修改页面
/// </summary>
void BusOne()
{
//1.获取 要修改的 班级id
string strId = HttpContext.Current.Request.QueryString["id"];
//2.验证 id 是否合法
if (CommonHelper.IsNum(strId))//验证通过
{
//3.根据id 查询 要修改的 班级数据
SqlDataReader dr = SqlHelper.ExcuteReader("select * from Classes where CId = " + strId);
//if (dr.HasRows)
//{
//此处 不使用 while的原因是因为 我们根据id查询,肯定只有一行!
if (dr.Read())//调用Read的时候就去数据库的 【查询结果集】 里 获取了一行数据
{
//4.读取修改页面的模版
string strHtml = CommonHelper.GetFileContent("02Modify.html");
//5.用 数据库中读取到的数据 替换 掉模版里的 3个占位符
strHtml = strHtml.Replace("@{name}", dr["CName"].ToString())//将 班级名 替换到 班级名 文本框的value中
.Replace("@{count}", dr["CCount"].ToString())//将 班级人数 替换到 班级人数 文本框的value中
.Replace("@{id}", dr["CId"].ToString());//将 班级id 替换到 班级id 隐藏域的value中
//6.将生成的修改页面 html 返回给浏览器
HttpContext.Current.Response.Write(strHtml);
}
//关闭 读取器,自动关闭连接对象
dr.Close();
//}
}
else
{//4.验证失败
//通过输出js 先让浏览器用户看到错误消息,然后再直接通过js控制浏览器跳转到 列表页面(再次请求服务器的列表页面)
HttpContext.Current.Response.Write("<script>alert('您的参数有误!您什么意思~~!');window.location='01List.ashx';</script>");
}
}
#endregion #region 2.0 业务二、执行修改 -void DoModify()
/// <summary>
/// 业务二、执行修改
/// </summary>
void DoModify()
{
//1.获取用户表单post提交的数据
string strName = HttpContext.Current.Request.Form["txtName"].Trim();
string strCount = HttpContext.Current.Request.Form["txtCount"];
string strId = HttpContext.Current.Request.Form["txtId"];
//2.验证数据
if (string.IsNullOrEmpty(strName) || !CommonHelper.IsNum(strCount) || !CommonHelper.IsNum(strId))
{
CommonHelper.WriteJs("对不起,您输入的数据格式错误~请仔细检查~~", "02Modify.ashx?id=" + strId);
}
else
{
//3.更新到数据库中
SqlParameter[] paras = {
new SqlParameter("Cname",strName),
new SqlParameter("CCount",strCount),
new SqlParameter("Cid",strId)
};
int res = SqlHelper.ExcuteNoneQuery("update Classes set CName=@Cname,CCount=@CCount where CId =@Cid", paras);
if (res > )
{ //删除成功
CommonHelper.WriteJs("修改成功~!", "01List.ashx");
}
else
{ //删除失败
CommonHelper.WriteJs("修改失败~!如果您是美女,请联系管理员~~~qq:111111", "02Modify.ashx?id=" + strId);
}
}
}
#endregion public bool IsReusable
{
get
{
return false;
}
}
}
}
02Modify.ashx(修改班级信息)的更多相关文章
- MVC4做网站后台:模块管理1、修改模块信息
网站可能会包含一些模块:像文章.产品.图片.留言等. 栏目模块主要实现功能,启用或禁用模块,模块权限设置,模块上传设置等. 权限设置和上传设置以后专门考虑,先来显示或禁用模块. 1.在顶部导航栏添加管 ...
- Liferay 6.2 改造系列之九:修改用户信息填写规则
为了让用户信息更贴近实际需求,修改如下信息: 1.让登录名可以使用数字.“.”.“_”等 在/portal-master/portal-impl/src/portal.properties文件中,有如 ...
- 无责任Windows Azure SDK .NET开发入门篇三[使用Azure AD 管理用户信息--3.4 Edit修改用户信息]
3.4 Edit修改用户信息 我们用FormCollection简化了表单提交,非常方便的进行用户信息修改. [HttpPost, Authorize] public async Task<Ac ...
- linux下修改IP信息
在Linux的系统下如何才能修改IP信息 以前总是用ifconfig修改,重启后总是得重做.如果修改配置文件,就不用那么麻烦了- A.修改ip地址 即时生效: # ifconfig eth0 192. ...
- JQuery DataTables Editor---页面内容修改&&数据库信息修改 (2)
接上篇博文,详细说一下js代码以及JQuery DataTables Editor---页面内容修改&&数据库信息修改遇到的问题和解决办法. 1.关于dialog 初始化: $(&qu ...
- svn修改log信息
在linux下安装了SVN服务器来做版本控制. 有天提交文件忘记了填写SVN提交日志,于是在项目中使用右键,show log,找到我提交的无日志的那条记录,点击右健,选择了“Edit log mess ...
- git执行cherry-pick时修改提交信息
git执行cherry-pick时修改提交信息 在本地分支执行cherry-pick命令时有时需要修改commit message信息,可以加参数-e实现: git cherry-pick -e co ...
- 关于修改banner信息;nginx反向代理apache应用
本周实验 1. Linux下Apache部署一个php页面,返回http数据包中查看server信息,修改Apache 配置使server banner自定义. 2. nginx设置反向代理,代理上面 ...
- Properties集合_修改配置信息
集合中的数据来自于一个文件 注意:必须要保证该文件中的数据是键值对. 需要使用到读取流 使用load()方法读取已有文件中的数据,存储到Properties集合中 public class Pro ...
随机推荐
- 利用ConcurrentHashMap来实现一个ConcurrentHashSet
利用ConcurrentHashMap来实现一个ConcurrentHashSet package hashset; import java.io.Serializable; import java. ...
- mysql如何处理亿级数据,第一个阶段——优化SQL语句
1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉 ...
- 设置Linux交换分区
Linux下可以创建两种类型的交换空间,一种是swap分区,一种是swap文件.前者适合有空闲的分区可以使用,后者适合于没有空的硬盘分区,硬盘的空间都已经分配完毕.例如:安装redhat的时候,你可以 ...
- jQuery的deferred对象详解(转)
jQuery的开发速度很快,几乎每半年一个大版本,每两个月一个小版本. 每个版本都会引入一些新功能.今天我想介绍的,就是从jQuery 1.5.0版本开始引入的一个新功能----deferred对象. ...
- 格雷码(Gray code)仿真
作者:桂. 时间:2018-05-12 16:25:02 链接:http://www.cnblogs.com/xingshansi/p/9029081.html 前言 FIFO中的计数用的是格雷码, ...
- Nuget 配置文件的位置
最近在 Visual Studio 中使用 Nuget 时,发现总是连接代理服务器,忘了什么时候配置的了,找了半天没找到配置位置,最后发现在这个地方: %appdata%\NuGet 找到 NuGet ...
- Spring Boot 2.0 整合Thymeleaf 模板引擎
本节将和大家一起实战Spring Boot 2.0 和thymeleaf 模板引擎 1. 创建项目 2. 使用Spring Initlizr 快速创建Spring Boot 应用程序 3. 填写项目配 ...
- Asp.Net T4模板生成三层架构
1.T4 Editor安装 T4:根据模板生成文件,例如model等 vs中默认t4模板编码是没有提示和高亮的,需使用以下插件,免费的 https://t4-editor.tangible-engin ...
- 《CLR via C#》读书笔记 之 计算限制的异步操作
<CLR via C#>读书笔记 之 计算限制的异步操作 2014-07-06 26.1 CLR线程池基础 返回 如25章所述,创建和销毁线程是一个比较昂贵的操作: 太多的线程也会浪费内存 ...
- PHP Backdoor + Reverse Shell on Vulnerable Website
翻译总结自: https://shellgam3.com/2016/07/27/php-backdoor-reverse-shell-on-vulnerable-website/ 扫描Web服务器,爆 ...