zoukankan      html  css  js  c++  java
  • Asp.NET笔记(二)---数据绑定技术

    第五章 数据绑定技术
    一、数据绑定语法:
    用于绑定控件的表达式置于 <%# ......%> 标记之间
    1、绑定到属性:<%# 属性名%>
    eg: <%= Hello %>:=它是内联引用方式,可以引用C#代码。
    <%# 属性名%>:#它可以引用.cs文件中的代码的字段,但这个字段必须初始化后,在页面的Load事件中使用Page.DataBind方法来实现
    2、绑定到表达式:<%# (int)Eval(属性名) - (int)Eval(属性名)%>
    eg: <%=3*28 %>
    <%#3*28 %>

    3、绑定到集合:<%# 集合名%>
    eg:借助服务器控件,在后台实现绑定
    //设置DropDownList数据源
    this.DropDownList1.DataSource = 集合;
    //执行绑定操作
    this.DropDownList1.DataBind();

    4、绑定到函数:<%# 方法(参数1,…)%>
    eg:<%# "当前时间是:"+DateTime.Now.ToString() %>

    5、单向绑定属性:<%# Eval(“字段名”)%>
    6、双向绑定属性:<%# Bind(“字段名”)%>

    二、数据绑定控件
    GridView:
    普通列的绑定: <asp:BoundField HeaderText="姓名" DataField="stuName" />

    自定义列的绑定:
    <asp:TemplateField HeaderText="性别"> 
      <ItemTemplate>
        <asp:Label ID="Label1" runat="server" Text='<%# Eval("stusex").ToString()=="男"?"帅哥":"美女" %>'></asp:Label>
      </ItemTemplate>
    </asp:TemplateField>


    分页效果的实现:
    1、将GridView的AllowPaging属性设置为true。
    2、设置PageSize属性指定每页显示的数据行数量
    3、触发PageIndexChanging事件
    在事件中指定分页索引:this.gv_Student.PageIndex = e.NewPageIndex;
    重新绑定数据源: this.gv_Student.DataSource = 数据源表;
    this.gv_Student.DataBind();

    执行删除、编辑等操作的实现:
    1、字段需要是自定义字段<asp:TemplateField> </asp:TemplateField>
    2、在<ItemTemplate></ItemTemplate>字段中添加执行操作的控件 ,在控件中设置操作名称CommandName和操作参数CommandArgument属性:
    eg: <asp:Button ID="Button1" runat="server" Text="删除" CommandName="del" CommandArgument='<%#Eval("stuid") %>' />
    3、触发GridView中_RowCommand事件
    ①判断操作名称 eg: if (e.CommandName == "del") {}
    ②获取操作参数 eg: int id = int.Parse( e.CommandArgument.ToString());
    ③执行具体操作 
    eg: int num =SqlHelper.NonQueryMethod("delete from StuInfo where stuid=" + id);

    执行页面跳转带参数:

    前台跳转:

     eg: <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl= '<%# "WebForm2.aspx?id=" +Eval("stuid") %>' >查看详情</asp:HyperLink>

       eg: <asp:LinkButton ID="LinkButton1" runat="server" PostBackUrl='<%#"~/EditWebForm.aspx?stuid="+Eval("stuid") %>'>编辑</asp:LinkButton>

    后台跳转:

       eg: Response.Redirect("深入了解GridView.aspx?id="+id);

       eg: Response.Write("<script>alert('修改成功!');window.location.href='深入了解GridView.aspx';</script>");

    删除前询问:

      eg:   OnClientClick="return confirm('你确定要删除吗?')" 

     <asp:Button ID="Button1" runat="server" Text="删除" OnClientClick="return confirm('你确定要删除吗?')" CommandName="del" CommandArgument='<%#Eval("stuid") %>'  />

  • 相关阅读:
    Leetcode 650
    Leetcode 292
    Leetcode 162
    Leetcode 600
    Leetcode 1894
    知识库
    Win2012R2(英文版)开放远程用户登录数量限制的设置
    Win2012R2(英文版)多账号登录,报错:Select a user to disconnect so that you can sign in的处理
    webstorm修改默认浏览器方法
    处理Chrome等浏览器无法上网,但微信能正常使用问题
  • 原文地址:https://www.cnblogs.com/JuneDream/p/14108854.html
Copyright © 2011-2022 走看看