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. MVC上传(单文件)

    后台代码: public ActionResult upload() { //获取文件对象 var file = Request.Files[0]; string suffix/*文件格式*/ = S ...

  2. js中数组作为参数传递的定义

    下面的函数实现了一个我们想要的最基本的图片预加载效果 function preloadimages(arr){    var newimages=[]    var arr=(typeof arr!= ...

  3. Unity利用UI的Mask实现对精灵Sprite的遮挡

    例如剔除掉船超出河流的一部分,实现让船只在河流之上显示. 其实是利用UI层的Mask实现遮罩,有些不同的是Mask的图片是用Camera渲染到RenderTexture动态产生的纹理实现的.大概步骤如 ...

  4. fork函数详解--20

     一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同 ...

  5. “浪潮杯”山东省第五届ACM大学生程序设计竞赛(总结贴)

    第一次參加省赛有点小激动,尽管是作为打星队參赛,但心情却是上下起伏. 5月9号晚上11点多到威海,有点略冷.可是空气比淄博好多了,大家到了旅馆的时候都非常晚了,抱怨了一下三星级的酒店的待遇,喝杯咖啡早 ...

  6. 九度 1547 出入栈(递推DP)

    题目描述: 给定一个初始为空的栈,和n个操作组成的操作序列,每个操作只可能是出栈或者入栈.要求在操作序列的执行过程中不会出现非法的操作,即不会在空栈时执行出栈操作,同时保证当操作序列完成后,栈恰好为一 ...

  7. Windows7 64bits下安装TensorFlow CPU版本(图文详解)

    不多说,直接上干货! Installing TensorFlow on Windows的官网 https://www.tensorflow.org/install/install_windows 首先 ...

  8. python2.0_s12_day19_前端结合后端展示客户咨询纪录

    接下来就是将后台视图与前端页面结合起来了完成后台系统了.实现前端展示用户列表1.先在base.html代码中把模版中Dashboard下面的内容清空,如下: 具体删除哪些html代码,自己找吧.2.我 ...

  9. js检查浏览器是否处于隐身模式

    网上大部分的文章写隐身模式下 localStorage 对象不可用,直接以 localStorage 能否写入来判断浏览器是否处于隐身模式其实是错的,在隐身模式下localStorage也是能使用的, ...

  10. mysql 小数处理

    1)四舍五入,保留小数 使用ROUND函数(注意不要使用FORMAT函数,FORMAT函数返回值带有逗号,赋值时会出现错误) 示例:保留两位小数 ROUND(price,2) 2)向上取整 CEIL ...