2.06StuModify.aspx(修改姓名,性别,所在班级)
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(修改姓名,性别,所在班级)的更多相关文章
- 根据当前登录域账号 获取AD用户姓名和所在OU目录
#region 根据当前登录域账号 获取AD用户姓名和所在OU目录 /// <summary> /// 根据当前登录域账号 获取AD用户姓名和所在OU目录 返回域用户是否存在 /// &l ...
- 字符串数组 输入3个字符串,要求按由小到大的字母顺序输出; 输入n个学生的姓名和学号到字符串数组中,在输入一个姓名,如果班级有该生则返回其信息,否则返回本班无此人
输入3个字符串,要求按由小到大的字母顺序输出 如 输入franch england china,输出结果是china england franch 三个数排序输出,比较三个数的大小怎么做? a=18 ...
- 修改oracle服务器所在linux主机名
1.修改/etc/hosts 2.修改 /etc/sysconfig/network 3.修改oracle的 listener.ora 4.修改 tnsnames.ora
- discuz修改禁止性别保密选项
第一步找到source/function/function_profile.php 第二步 注释下面的代码 else { $html .= '<option value="0&quo ...
- Java项目:学生成绩管理系统(一)
学生成绩管理系统(一) 项目名称:学生成绩管理系统 项目需求分析(Need 需求): (1)该系统的用户分为教师和学生.教师的功能有:管理某一学生或课程的信息以及成绩,包括增.删.查.报表打印等:学生 ...
- MySQL完整教程(共8章)
正文 [第一章] 回到顶部 1.1 MySQL学习路线 基础阶段:MySQL数据库的基本操作(增删改查),以及一些高级操作(视图.触发器.函数.存储过程等). 优化阶段:如何提高数据库的效率,如索引, ...
- PHP 精典面试题(附答案)
1.输出Mozilla/4.0(compatible;MISIE5.01;Window NT 5.0)是,可能输出的语句是? A:$_SERVER['HTTP_USER_AGENT_TYPE']; B ...
- 【java】非常多!学习路径24-总结目前所有知识(上)
感谢sikiedu.com的siki老师.几年前就开始看siki的课程,最近突然想写这个笔记系列,顺便回顾一下这些基础的知识,同时也希望能帮助到一些人,有问题一起交流哈. 全文共十章,大约1.5万字, ...
- 六、模型层(ORM)
六.模型层(ORM) Django中内嵌了ORM框架,不需要直接编写SQL语句进行数据库操作,而是通过定义模型类,操作模型类来完成对数据库中表的增删改查和创建等操作. O是object,也就类对象的意 ...
随机推荐
- 【转】【MFC】 StretchBlt绘图图像失真
MFC中位图伸缩函数StretchBlt在对图片进行缩放时会造成严重的图片失真. 在了解解决方法前先巩固下StretchBlt的用法: StretchBlt 函数功能:函数从源矩形中复制一个位图到目标 ...
- (转)RGB接口和i80接口的区别
在嵌入式的主流 LCD屏中主要支持两大类的硬件接口,一种是常见的RGB接口,另外一种是MCU接口.后面因为最早是针对单片机的领域在使用,因此得名.后在中低端手机大量使用,其主要特点是价格便宜的. M ...
- 【Java面试题】36 List、Map、Set三个接口,存取元素时,各有什么特点?
List与Set都是单列元素的集合,它们有一个功共同的父接口Collection. Set里面不允许有重复的元素, 存元素:add方法有一个boolean的返回值,当集合中没有某个元素,此时add方法 ...
- c++ 静态成员变量
在C++中,静态成员是属于整个类的而不是某个对象,静态成员变量只存储一份供所有对象共用.所以在所有对象中都可以共享它.使用静态成员变量实现多个对象之间的数据共享不会破坏隐藏的原则,保证了安全性还可以节 ...
- Shell 获取Shell所在目录
SHELL_PATH=$(cd ")";pwd) echo $SHELL_PATH
- Spring-导入和混合配置
javaConfig模式下: 导入: @Import({XX.class,YY.class,...}) 混合: @ImportResource("classpath:xxx.xml" ...
- jQuery on()方法绑定动态元素的点击事件无响应的解决办法
$('#check_all').on('click' , function(){ alert(1); }); $("#yujinlist").append(html); count ...
- linux数据盘分区以及格式化
首先切换到root账户下 sudo -i 手动格式化 请根据以下步骤对数据盘进行分区以及格式化,并挂载分区使数据盘可用. 注:执行以下命令时,请注意修改数据盘符,可以使用”fdisk -l”查看盘符 ...
- 在Linux服务器上部署node项目(git部署,forever持续运行,配置SSL证书)
一.环境部署 1.下载安装包: wget https://nodejs.org/dist/v9.9.0/node-v9.9.0-linux-x64.tar.xz 2.解压并进入目录: xz -d no ...
- C#操作MSMQ(消息队列)
using System; using System.Collections.Generic; using System.Text; using System.Messaging; using Sys ...