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,也就类对象的意 ...
随机推荐
- linux -- Ubuntu图形界面终端实现注销、关机、重启
linux命令行下的开关机分别为: 注销:logout 关机:shutdown -h now (参数不同,会有不同的关机模式) 重启:shutdown -r now 或 reboot 这些命令都是在l ...
- linux -- ubuntu桌面版安装xampp
首先,请从www.xampp.org下载最新版XAMPP. 安装 如果是xampp压缩文件 将xampp压缩文件复制到/opt下并解压.如果你计算机没有/opt目录,用 “sudo mkdir/opt ...
- hdu2147 kiki's game(博弈)
这个是纳什博弈?不知道怎么看的 依据PN图,从左下角開始推 左下角P 最后一行都是PNPNPN 第一列都是 P N P N P 完了填完即可了 #include<cstdio> int m ...
- logging.xml file setfile(null,true) call failed
定义目录三个方法:一:${catalina.base}或${catalina.home}相对路径配置方法.catalina.home是你配置服务器时自动在环境变量中加的路径,默认是指向tomcat服务 ...
- HEVC 有损优化一
前期通过X86汇编和C的优化,HEVC 编码有了大幅的提升,目前320x240可以到4~5 fps 了.从现在开始无损优化先放放(还有很大的优化空间),开始做有损优化.做有损优化,我们设定的前提是ps ...
- JavaScript 取对象的值时用点和中括号的区别
用点的时候 点后面是对象的真实属性名称, 用中括号的时候 中括号里面是变量或者字符串
- htaccess文件中RewriteRule 规则参数介绍
.htaccess 文件 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d Rew ...
- ubuntu 16.04 appstreamcli 问题
http://blog.csdn.net/zhbpd/article/details/77508675
- 工欲善其事 之 Web 前端调试工具格式化混淆过的 JS 代码
工欲善其事 之 Web 前端调试工具格式化混淆过的 JS 代码 太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致&q ...
- 说说新唐ARM9(未完待续)
针对通用32位微控制器的NUC970系列嵌入了由RISC机器有限公司设计的RISC处理器ARM926EJ-S,运行频率高达300 MHz,具有16 KB的I-cache,16 KB的D-cache和M ...