7天搞定三层架构(第六天)

练习UI层:

页面居中布局

  • from style=“width:1000px;margin:0 auto;”
  • 工具栏 :style=“text-align:center;”
  • GridView:width:“100%”

DropDownList绑定 数据

  • 前后台结合方式
    • 配置SqlDataSource数据源,选择合适的表
    • 设置DataTextField和DataValueField属性
    • 删除DataSourceD属性和和生成的SqlDataSource控件
    • 添加额外项,并设置AppendDataBoundItems=“True” (对应的值与后台一致)
    • 绑定 数据源: DataSource=BLL.Manage. Select();
    • 执行数据绑定: DataBindO);
    • 后台直接完成方式
      在这里插入图片描述

RadioButtonList设置

  • 根据要求,编辑项(对应的值与数据库1后台保持一致,不要忘记默认选中项)
  • 调整布局: RepeatDirection="Horizontal"RepeatI ayout= “Flow”
    在这里插入图片描述

GridView绑定数据

  • 配置SqlDataSource数据源,修改select语句,生成框架
  • 删除DataSourceD属性和生成的SqlDataSource控件,不刷新字段信息
  • 调整主键: DataKeyNames=“ID”
  • 删除或隐藏不需要的列: Visible=“false”
  • 为显示的列指定列名:HeaderText=“列名”
  • 绑定数据源: DataSource=BLL.Manage Select();
  • 执行数据绑定: DataBind);

隐藏指定控件

  • visible=’<%# Convert. ToString(Eval(“基准列”))==“基准值”%>'控件ID.Visible=fal

跳转新页面并传值

  • HyperL inkField: DataNamigateUrlFields 、DataNavigeteUrlFormatString
  • HyperLink: NavigateUrl=’<%# “新地址?id=” + Eval(“主键列”)%>’
  • LinkButton: PostBackUrl=’<%# “新地址?id=” + Eval(“主键列”)%>’
    在这里插入图片描述

查询功能实现

  • 双击查询按钮,进入click事件
  • 获取查询参数,并进行数据类型转化
  • 绑定数据源: DataSource=BLL.Manage.Select(参数列表);4)执行数据绑定: DataBind();
    在这里插入图片描述

删除功能实现

  • 添加模板列:操作。
  • 编辑模板列, 添加删除按钮
  • 设 置删除按钮的属性:
    • 命令: CommandName=" delete"
      参数: CommandArgument=’<%# Eval(“主键”) %>'●
      提示: OnClientClick=“returm confirm(删除? ')”
      在这里插入图片描述
  • 为 GridView添加Row Command事件
  • 在 Row_ Command事件中获取数据:
    命令: | e.CommandName
    参数: e.CommandArgument
  • 针对命令进行判断,调用相应方法: BLL.Manage.Delete(参数)
  • 重新绑定数据(或跳转至当前页面)
    在这里插入图片描述

当前页面(或不需要显示原数据)更新功能实现

  • 添加模板列:操作

  • 编辑模板列,添加更新按钮

  • 设置更新按钮的属性

    • 命令:CommandName=" update"
    • 参数:CommandArgument=’<%# Eval(“主键”) %>’
      在这里插入图片描述
  • 为 GridView添加Row Command事件

  • 在Row_ Command事件中获取数据:

    • 命令: e.CommandName
    • 参数: e.CommandArgument
  • 针对命令进行判断,调用相应方法:

    • 更新数据: BLL.Manage.Update(对象)
    • 判断>0,提示、重新绑定数据(或跳转至当前页面)
      在这里插入图片描述

新页面(或需要显示原数据)更新功能的实现

  • 创建新页面、 布局(居中),配置可选择控件的数据项

  • 在原页面添加按钮, 跳转至新页面并传递修改对象的主键ID
    在这里插入图片描述

  • 根据ID参数,查询修改对象:对象=BLL.Manage .Select(ID)

  • 如果没找到则跳回原页 面或进入添加模式

  • 将修改对象保存至Session中: Session[“M”]= 对象

  • 将修改对象的原有属性显示到新页面对应控件内(数据类型转换)

    在这里插入图片描述

  • 双击修改按钮,进入click事件

  • 从Session 中取回要修改的对象,并进行格式转换:对象=Session[“M”] as类;

  • 根据需要,修改相应属性(数据类型转换)

  • 更新数据: BLL.Manage.Update(对象)

  • 判断>0,提示,跳转
    在这里插入图片描述

添加功能的实现

  • 创建新页面、布局(居中)
  • 配置可选择的数据项
  • 双击添加按钮,进入click事件
  • 创建添加对象,给属性赋值(数据类型转换)
  • 调用添加方法: BLL.Manage.Insert(对象)
  • 判断>0,提示、跳转
    在这里插入图片描述

同一页面,既实现修改,又需要添加

  • 根据ID参数,查询修改对象:对象=BLL.Manage. Select(ID);
  • 如果找到对象则为修改模式,否则为添加模式;修改模式时,需要把获取到的对象存入Session中: Session[“M”]= 对象
  • 参照本文档中添加及新页面修改部分,分别实现添加和修改功能
    在这里插入图片描述

验证控件的常见应用

  • CompareValidator: 比较验证

    • 控件比较:密码与确认密码
      不等于验证:不等于0,比如下拉框选择
    • 单边验证:只指定最大值或最小值,比如出生日期在2000年以后的
    • 数据类型验证:比如只能输入整数、小数、日期等
  • CustomValidator: 其它控件完成不了或者需要操作数据库

  • RangeValidator: 最大值和最小值,比如年龄1-20岁

  • RegularExpressionValidator: 规定格式,比如邮箱、手机号、中文

  • RequiredFieldValidator: 必填,其它验证控件的首选

  • 不执 行验证: CausesValidation=“False”
    在这里插入图片描述

登录功能实现及身份验证

  • 登录其实是一种特殊的查询,需要在Service中添加查询方法
    在这里插入图片描述

  • BLL 中与以往一样,直接改为调用即可

  • 双击 登录按钮,在Click中调用BLL.Login(),并根据权限进行跳转
    在这里插入图片描述

  • 在新页面获取当前用户,并验证用户权限
    在这里插入图片描述

  • 使用user就可以获取用户信息了,如显示用户名<%=user.UserName%>
    在这里插入图片描述

退出时不执行验证

  • CausesV alidation=“false”
  • ValidationGroup

后台提示并跳转

在这里插入图片描述

退出功能实现

  • Session. Abandon();//终止当前会话
  • Response. Redirect(“Login.aspx”;//跳转 至未登录时的默认页面

如何实现光棒效果

  • 后台代码实现

  • 添加RowDataBound事件

  • 筛选所有数据行:
    e. Row.RowType == DataControlR owType. DataRow

  • 对每一数据行添加属性(注意保存原有行的背景色等样式信息)

  • 前台jQuery实现
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值