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="06StuModify.aspx">
<table id="tbList">
<tr>
<td>姓名:</td>
<td><input type="text" id="txtName" name="txtName" value="<%=model.Name %>" /></td>
</tr>
<tr>
<td>所在班级:</td>
<td><select name="selClass"><%=sbOpts.ToString() %></select></td>
</tr>
<tr>
<td>性别:</td>
<td>
<input type="radio" name="sex" <%=GetChecked(model.Gender,true) %> value="男"/>男
<input type="radio" name="sex" <%=GetChecked(model.Gender,false) %> value="女"/>女
</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="<%=model.Id %>" />
</form>
</body>
</html>
后台代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebHelper; namespace AspxWebForm
{
public partial class _06StuModify : System.Web.UI.Page
{
BLL.Students bllStu = new BLL.Students();
protected System.Text.StringBuilder sbOpts = new System.Text.StringBuilder();//装 班级下拉框的 html代码
protected MODEL.Students model = null; protected void Page_Load(object sender, EventArgs e)
{
//业务一、get过来的时候,根据id展示要修改的数据
if (Request.HttpMethod.ToLower() == "get")
{
ShowData();
}
else//业务二、post过来的时候,获取新数据并保存到数据库
{
DoModify();
}
} #region 1.0 生成 班级下拉框 选项 html字符串 +void LoadClassesOption(int stuCId)
/// <summary>
/// 生成 班级下拉框 选项 html字符串
/// </summary>
/// <param name="stuCId"></param>
public void LoadClassesOption(int stuCId)
{
//创建 班级 业务层对象
BLL.Classes bllClasss = new BLL.Classes();
IList<MODEL.Classes> listClass = bllClasss.GetList(false);
//遍历生成班级下拉框 html
foreach (MODEL.Classes m in listClass)
{
//在生成时候,判断 循环的班级 的id是否 和 参数一样,如果一样,则将这个 option 设置为选中状态 selected
sbOpts.Append("<option " + (stuCId == m.CID ? "selected" : "") + " value='" + m.CID + "'>" + m.CName + "</option>");
}
}
#endregion #region 2.0 根据 当前学员的性别 和 单选按钮 返回 选中状态 +string GetChecked(string sex, bool isBoy)
/// <summary>
/// 根据 当前学员的性别 和 单选按钮 返回 选中状态
/// </summary>
/// <param name="sex"></param>
/// <param name="isBoy"></param>
/// <returns></returns>
public string GetChecked(string sex, bool isBoy)
{
return isBoy ?
(sex == "男" ? "checked" : "")//如果是 男 单选按钮,则 如果学生是男 则 返回 checked,否则返回 ""
:
(sex == "女" ? "checked" : "");//如果是 女 单选按钮,则 如果学生是女 则 返回 checked,否则返回 ""
}
#endregion #region 3.0展示要修改的数据 -void ShowData()
/// <summary>
/// 3.0展示要修改的数据
/// </summary>
private void ShowData()
{
string strId = Request.QueryString["id"];
if (CommonHelper.IsNum(strId))
{
model = bllStu.GetModel(int.Parse(strId));
//生成 班级下拉框 选项 html字符串
LoadClassesOption(model.CId);
}
else
{
CommonHelper.WriteJs("修改失败~!如果您是美女,请联系管理员~~~qq:111111", "05StuList.aspx");
Response.End();
}
}
#endregion #region 4.0 执行修改 -void DoModify()
/// <summary>
/// 执行修改
/// </summary>
private void DoModify()
{
//验证用户提交的数据
if (CommonHelper.IsNum(Request.Form["txtId"])
&& !string.IsNullOrEmpty(Request.Form["sex"].Trim())
&& CommonHelper.IsNum(Request.Form["selClass"].Trim()))
{
//接收提交的数据
MODEL.Students stuModel = new MODEL.Students();
stuModel.Id = Convert.ToInt32(Request.Form["txtId"]);
stuModel.CId = Convert.ToInt32(Request.Form["selClass"]);
stuModel.Gender = Request.Form["sex"];
stuModel.Name = Request.Form["txtName"];
//保存到数据库
if (bllStu.Update(stuModel))
{
CommonHelper.WriteJs("修改成功~~", "05StuList.aspx");
}
else
{
CommonHelper.WriteJs("修改失败~~", "06StuModify.aspx?id=" + Request.Form["txtId"]);
}
}
else
{
CommonHelper.WriteJs("您是否恶意修改了参数~~!我报警抓你!", "05StuList.aspx");
}
Response.End();//结束输出,不生成前台页面代码
}
#endregion
}
}

   修改业务层BLL.Student

   public bool Update(MODEL.Students model)
{
return dal.Update(model) > ;
}
修改数据层DAL.Students
 #region 08.修改 +int Update(MODEL.Students model)
/// <summary>
/// 修改
/// </summary>
/// <param name="model">数据实体对象</param>
/// <returns>修改成功的行数</returns>
public int Update(MODEL.Students model)
{
int res = -;
StringBuilder strSql = new StringBuilder();
strSql.Append("update Students set ");
strSql.Append("CId=@CId,");
strSql.Append("Name=@Name,");
strSql.Append("Gender=@Gender");
strSql.Append(" where Id=@Id ");
SqlParameter[] parameters = {
new SqlParameter("@Id", SqlDbType.Int,),
new SqlParameter("@CId", SqlDbType.Int,),
new SqlParameter("@Name", SqlDbType.VarChar,),
new SqlParameter("@Gender", SqlDbType.VarChar,)};
parameters[].Value = model.Id;
parameters[].Value = model.CId;
parameters[].Value = model.Name;
parameters[].Value = model.Gender; try
{
res = DbHelperSQL.ExcuteNonQuery(strSql.ToString(), parameters);
}
catch (Exception ex)
{
throw ex;
}
return res;
}

 
 

2.06StuModify.aspx(修改姓名,性别,所在班级)的更多相关文章

  1. 根据当前登录域账号 获取AD用户姓名和所在OU目录

    #region 根据当前登录域账号 获取AD用户姓名和所在OU目录 /// <summary> /// 根据当前登录域账号 获取AD用户姓名和所在OU目录 返回域用户是否存在 /// &l ...

  2. 字符串数组 输入3个字符串,要求按由小到大的字母顺序输出; 输入n个学生的姓名和学号到字符串数组中,在输入一个姓名,如果班级有该生则返回其信息,否则返回本班无此人

    输入3个字符串,要求按由小到大的字母顺序输出 如 输入franch england china,输出结果是china england franch 三个数排序输出,比较三个数的大小怎么做? a=18 ...

  3. 修改oracle服务器所在linux主机名

    1.修改/etc/hosts 2.修改 /etc/sysconfig/network 3.修改oracle的 listener.ora 4.修改 tnsnames.ora  

  4. discuz修改禁止性别保密选项

    第一步找到source/function/function_profile.php 第二步  注释下面的代码 else { $html .= '<option value="0&quo ...

  5. Java项目:学生成绩管理系统(一)

    学生成绩管理系统(一) 项目名称:学生成绩管理系统 项目需求分析(Need 需求): (1)该系统的用户分为教师和学生.教师的功能有:管理某一学生或课程的信息以及成绩,包括增.删.查.报表打印等:学生 ...

  6. MySQL完整教程(共8章)

    正文 [第一章] 回到顶部 1.1 MySQL学习路线 基础阶段:MySQL数据库的基本操作(增删改查),以及一些高级操作(视图.触发器.函数.存储过程等). 优化阶段:如何提高数据库的效率,如索引, ...

  7. PHP 精典面试题(附答案)

    1.输出Mozilla/4.0(compatible;MISIE5.01;Window NT 5.0)是,可能输出的语句是? A:$_SERVER['HTTP_USER_AGENT_TYPE']; B ...

  8. 【java】非常多!学习路径24-总结目前所有知识(上)

    感谢sikiedu.com的siki老师.几年前就开始看siki的课程,最近突然想写这个笔记系列,顺便回顾一下这些基础的知识,同时也希望能帮助到一些人,有问题一起交流哈. 全文共十章,大约1.5万字, ...

  9. 六、模型层(ORM)

    六.模型层(ORM) Django中内嵌了ORM框架,不需要直接编写SQL语句进行数据库操作,而是通过定义模型类,操作模型类来完成对数据库中表的增删改查和创建等操作. O是object,也就类对象的意 ...

随机推荐

  1. 第二百八十七节,MySQL数据库-条件语句、循环语句、动态执行SQL语句

    MySQL数据库-条件语句.循环语句.动态执行SQL语句 1.if条件语句 delimiter \\ CREATE PROCEDURE proc_if () BEGIN ; THEN ; ELSEIF ...

  2. C++ 数字

    C++ 数字通常,当我们需要用到数字时,我们会使用原始的数据类型,如 int.short.long.float 和 double 等等.这些用于数字的数据类型,其可能的值和数值范围,我们已经在 C++ ...

  3. ARP协议相关介绍

    什么是ARP协议? ARP,即地址解析协议,实现通过IP地址得知其物理地址.在TCP/IP网络环境下,每个主机都分配了一个32位的IP地址,这种互联网地址是在网际范围标识主机的一种逻辑地址.为了让报文 ...

  4. Kernel.org 被黑,获取 Android 源码方法一则

    8 月底 9 月初,作为 Linux 的老窝,Kernel.org 被黑客攻击了,其攻击原因众说纷纭.一直以来 Linux 对于我来说不是很感兴趣,所以从来不会关注类似事件,可是这次这个攻击,却影响到 ...

  5. 查看CentOS的网络带宽出口

    检查维护系统的时候,经常会要查看服务器的网络端口是多大的,所以需要用到Linux的一个命令. 如何查看CentOS的网络带宽出口多大?可以用下面的命令来查看. # ethtool eth0 前面是命令 ...

  6. Javascript定义类(class)的最新方法

    极简主义法 3.1 封装 这种方法不使用this和prototype,代码部署起来非常简单,这大概也是它被叫做"极简主义法"的原因. 首先,它也是用一个对象模拟"类&qu ...

  7. OpenCV学习:Windows+VS2010+OpenCV配置

    OpenCV下载: 百度云下载:https://pan.baidu.com/s/1mhAExdu (2.4.9版本) 下载完成后,双击运行exe,选择输出目录,我选择的是C:\OpenCV 配置环境变 ...

  8. Android移动网络如何抓取数据包

    1)下载tcpdump工具 tcpdump(dump the traffic on a network)是Linux中强大的网络数据采集分析工具之一,可以将网络中传送的数据包头完全截获下来提供分析.它 ...

  9. PHP - PhpStorm 快捷键大全 PhpStorm 常用快捷键和配置(转)

    原文地址:http://www.cr173.com/html/66775_1.html PhpStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具,PhpStorm可随时帮助 ...

  10. Python 高斯坐标转经纬度算法

    # 高斯坐标转经纬度算法# B=大地坐标X# C=大地坐标Y# IsSix=6度带或3度带def GetLatLon2(B, C,IsSix): #带号 D = math.trunc(C / 1000 ...