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,也就类对象的意 ...
随机推荐
- nodejs基础 -- Stream流
nodejs 的 Stream 是一个抽象接口,node中有很多对象实现了这个接口.例如,对http服务器发起请求的request对象就是一个Stream,还有stdout(标准输出)也是一个Stre ...
- erlang的catch和 try catch的初步猜测
一. catch(Fun):似乎可以避免因为 函数Fun内的错误而造成的当前的进程的崩溃.
- 演示-JQuery属性选择器
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 调用外部 DLL 中的函数(2. 晚绑定)
, b, t, );end; procedure TForm1.FormDestroy(Sender: TObject);begin FreeLibrary(inst); {记得释放}end; e ...
- SVN中Revert changes from this revision 跟Revert to this revision
譬如有个文件,有十个版本,假定版本号是1,2,3,4,5,6,7,8,9,10. Revert to this revision: 如果是在版本6这里点击“Revert to this revisio ...
- MathType编辑半直积符号的步骤
在数学中,特别是叫做群论的抽象代数领域中,半直积(semidirect product)是从其中一个是正规子群的两个子群形成一个群的特定方法.半直积是直积的推广.半直积是作为集合的笛卡尔积,但带有特定 ...
- Java精选笔记_Java编程基础
Java的基本语法 Java代码的基本格式 修饰符 class 类名 { 程序代码 } 一个Java源文件只定义一个类,不同的类使用不同的源文件定义:将每个源文件中单独定义的类都定义成public ...
- Android Tab切换
ViewPager+FragmentStatePagerAdapter 页面切换案例详解 http://blog.csdn.net/u010203181/article/details/4462963 ...
- shell基础(八)-循环语句
国庆过后:感觉有点慵懒些了:接着上篇:我们继续来学习循环语句. 一. for循环 与其他编程语言类似,Shell支持for循环. for循环一般格式为: for 变量 in 列表 do command ...
- WebSphere和IHS的安装
环境:CentOS6.5, IP :192.168.0.91 hostname: IHS 1.下载Installation Manage安装包 URL:http://www.ibm.com/devel ...