关于ASP.NET中后台数据库和前台的数据控件的绑定问题

最近一直在学习个知识点,自己创建了SQL Server数据库表,想在ASP.NET中连接数据库,并把数据库中的数据显示在前台,注意,这里的数据显示不是使用asp.net自带的数据显示控件进行数据的绑定,而是使用开源的数据表格插件DataTables。这样的显示效果要比DataGridView好看的多。下面将详细的过程记录如下,供初学者参考。

一、要将SQL Server数据库中的数据通过普通的table表格显示在页面上,首先是使用一个绑定数据的控件:Repeater 控件,在使用绑定表达式:<%#字段名称>。在后台使用DataBind方法。

具体事例代码:

前台:

<table id="tb_example"  class="display cell-border hover dt-body-center  row-border order-column ">
<thead>
<tr>
<th>公司名称</th>
<th>公司地点</th>
<th>注册资金</th>
<th>公司编号</th>
<th>公司代表</th>
</tr>
</thead>
<asp:Repeater ID="ratTable" runat="server">
<ItemTemplate>
<tr>
<td><%#Eval("PRONAME") %> </td>
<td><%#Eval("PROESS") %></td>
<td><%#Eval("PROMENOY") %></td>
<td><%#Eval("PROID") %></td>
<td><%#Eval("PROPERSON") %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>

后台:

            string SqlStr = "Server=(local);User Id=sa;Pwd=123;DataBase=ZBD";//连接本地的SQL Server数据
SqlConnection conn = new SqlConnection(SqlStr); //实例化SQLConnection对象进行连接数据
string sqlstr = "select PRONAME,PROID,PROESS,PROMENOY,PROPERSON from tb_zbd ";//定义SQL查询语句用于查询表数据
SqlCommand myCmd = new SqlCommand(sqlstr, conn);
DataSet ds = new DataSet();//定义dataset对象
conn.Open();//打开数据库
SqlDataAdapter da = new SqlDataAdapter(sqlstr, conn);
conn.Close();
da.Fill(ds);
ratTable.DataSource = ds.Tables[];
ratTable.DataBind();

代码说明:上述代码定义了DataAdapter对象。DataAdapter对象是DataSet对象和数据源之间联系的桥梁,主要是从数据源中检索数据、填充DataSet对象中的表或者把用户对DataSet对象做出的更改写入到数据源。

运行操作的显示结果如下图:


二、数据绑定的相关知识点总结

数据绑定是指从数据源获取数据向数据源写入数据。简单的数据绑定可以使对变量或属性的绑定,比较复杂的是对ASP.NET数据绑定控件的操作。

说明:所有的数据绑定表示式都必须包含在<%#...%>中。执行绑定操作要么执行Page对象的DataBind方法,要么执行数据绑定控件对应的实例对象的DataBind方法。

1、简单的属性绑定

基于属性的绑定所涉及的属性必须包含get访问器,因为在数据绑定过程中,数据显示控件需要通过属性的get访问器从属性中读取数据。

语法:<%# 属性名称%>

在后台执行Page.DataBind()方法。

技巧:简单变量的数据绑定类似于简单的属性绑定。例如定义一个公共的变量并赋值,在前台的label控件额Text属性中使用数据语法<%#,,,%>也可以进行绑定。

2、表达式绑定

将数据绑定显示控件之前,对数据的处理,通过表示式将执行的结果显示在控件之上。

3、集合绑定

像一些比较特殊的数据控件需要以数据集合作为数据源进行数据的绑定。

4、技巧总结:对于数据控件的绑定,是在数据绑定表达式中使用Eval和Bind方法进行数据绑定。其中二者的区别;

<%#Eval("数据字段名称")%>这种方法是单向绑定,只具有读取功能。

<%#Bind("数据字段名称")%>这种方法是双向的,同时具有读取和写入的功能。

ASP.NET中后台数据和前台控件的绑定的更多相关文章

  1. asp.net中遍历界面上所有控件进行属性设置

    * 使用方法: *  前台页面调用方法,重置:    protected void Reset_Click(object sender, EventArgs e)        {           ...

  2. asp.net中的时间日期选择控件

    asp.net中的时间日期选择控件 Posted on 2008-07-17 17:37 飛雪飄寒 阅读(22922) 评论(6) 编辑 收藏     在系统中经常需要进行时间日期选择(比如查询时间范 ...

  3. c# 后台线程 访问前台控件并显示信息

    //设置为后台线程 Thread th = new Thread(delegate() { append(); }); th.IsBackground = true; th.Start(); //在a ...

  4. ASP .NET MVC HtmlHelper扩展——简化“列表控件”的绑定

    在众多表单元素中,有一类<select>元素用于绑定一组预定义列表.传统的ASP.NET Web Form中,它对应着一组重要的控件类型,即ListControl,我们经常用到DropDo ...

  5. ASP.NET中的Image和ImageButton控件

    Image 控件用来显示图形.Image 控件可以显示来自位图.图标或元文件的图形,也可以显示增强的元文件.JPEG 或 GIF文件. ImageButton 控件用于显示可点击的图像. Image ...

  6. Asp.net MVC 传递数据 从前台到后台,包括单个对象,多个对象,集合

    今天为大家分享下 Asp.net MVC 将数据从前台传递到后台的几种方式. 环境:VS2013,MVC5.0框架 1.基本数据类型 我们常见有传递 int, string, bool, double ...

  7. 在 ASP.NET 中创建数据访问和业务逻辑层(转)

    .NET Framework 4 当在 ASP.NET 中处理数据时,可从使用通用软件模式中受益.其中一种模式是将数据访问代码与控制数据访问或提供其他业务规则的业务逻辑代码分开.在此模式中,这两个层均 ...

  8. ASP.Net中后台控制页面提示信息的显示方式

    ASP.Net中后台控制页面提示信息的显示方式   用于删除或修改成功后的显示:(背景No空白) ScriptManager.RegisterStartupScript(this, typeof(Pa ...

  9. ASP.NET MVC中加载WebForms用户控件(.ascx)

    原文:ASP.NET MVC中加载WebForms用户控件(.ascx) 问题背景 博客园博客中的日历用的是ASP.NET WebForms的日历控件(System.Web.UI.WebControl ...

随机推荐

  1. HotApp小程序服务范围资质查询器

    微信小程序提交审核需要选择资质服务范围,如果服务范围不对,审核会不通过, 开发小程序之前,最好先查询所开发小程序的资质范围,否则无法通过微信审核.   小程序的资质范围查询地址,数据同步微信官方 ht ...

  2. jQuery中取消后续执行内容

    <html xmlns="http://www.w3.org/1999/xhtml"><head>    <title></title&g ...

  3. ASP.NET 5 Beta 8 发布

    ASP.NET 5 的路线图(详见 ASP.NET 5 Schedule and Roadmap : https://github.com/aspnet/home/wiki/roadmap ):Bet ...

  4. CORS简介

    现在请跟我做:在您的浏览器的地址栏中输入www.yhd.com并敲击回车.在网站内容全部加载完毕后,按F12打开浏览器的调试窗口.当切换到Sources页时,您会发现您当前所看到的一号店的页面是从多个 ...

  5. CSS currentColor 变量的使用

    CSS中存在一个神秘的变量,少有人知自然也不怎么为人所用.它就是crrentColor变量(或者说是CSS关键字,但我觉得称为变量好理解些). 初识 它是何物?具有怎样的功效?它从哪里来?带着这些疑问 ...

  6. [翻译]AKKA笔记 -ACTOR SUPERVISION - 8

    失败更像是分布式系统的一个特性.因此Akka用一个容忍失败的模型,在你的业务逻辑与失败处理逻辑(supervision逻辑)中间你能有一个清晰的边界.只需要一点点工作,这很赞.这就是我们要讨论的主题. ...

  7. C#中,switch case语句中多个值匹配一个代码块的写法

    switch (num) { case 1: Response.Write("1"); break; case 2: case 3: Response.Write("2| ...

  8. redis成长之路——(六)

    redis配置 为了码农在代码上只关心业务以及代码上的统一性,wenli.drive.redis内部使用配置来完成那些不同的场景,也就是说随便填填配置就能适应不同的场景! 当然配置多了码农也会受不了, ...

  9. Java发展历史

    1991年1月 Sun公司成立了Green项目小组,专攻智能家电的嵌入式控制系统 1991年2月 放弃C++,开发新语言,命名为"Oak" 1991年6月 JamesGosling ...

  10. Entity Framework中使用IEnumerable<T>、IQueryable<T>及IList<T>的区别

    1. IEnumerable<T> IEnumerable<T> :对于在内存中集合上运行的方法,返回的可枚举对象将捕获传递到方法的参数.在枚举该对象时,将使用查询运算符的逻辑 ...