关于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. 简述我的SOA服务治理

    SOA服务治理 1.解决业务部门服务冲突和纠纷2.版本定义与版本管理3.服务备案与服务管理4.业务监督与服务监控 SOA的战略目的 一.业务价值胜过技术策略 二.战略目标胜过具体项目的效益 三.内置的 ...

  2. BZOJ 1692: [Usaco2007 Dec]队列变换 [后缀数组 贪心]

    1692: [Usaco2007 Dec]队列变换 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1383  Solved: 582[Submit][St ...

  3. 从零开始,DIY一个jQuery(1)

    从本篇开始会陪大家一起从零开始走一遍 jQuery 的奇妙旅途,在整个系列的实践中,我们会把 jQuery 的主要功能模块都了解和实现一遍. 这会是一段很长的历程,但也会很有意思 —— 作为前端领域的 ...

  4. Linux3 在VMware中搭建CentOS6.5虚拟机

    前言:      本文主要是我在大家hadoop集群之前 ,需啊先安装CentOS虚拟机,记录在此,作为参考.如果能帮助到其他人,自然是更好啦. =========================== ...

  5. 【Java并发编程实战】----- AQS(二):获取锁、释放锁

    上篇博客稍微介绍了一下AQS,下面我们来关注下AQS的所获取和锁释放. AQS锁获取 AQS包含如下几个方法: acquire(int arg):以独占模式获取对象,忽略中断. acquireInte ...

  6. CSharpGL(36)通用的非托管数组排序方法

    CSharpGL(36)通用的非托管数组排序方法 如果OpenGL要渲染半透明物体,一个方法是根据顶点到窗口的距离排序,按照从远到近的顺序依次渲染.所以本篇介绍对 UnmanagedArray< ...

  7. python处理命令行参数

    直接从命令行执行py文件的时候如果带有参数,如何获取这些参数,如何解析? http://blog.chinaunix.net/uid-20786165-id-3182268.html sys.argv ...

  8. CSS 定位之绝对与相对

    static,relative,absolute,fixed含义 static(静态定位):元素框正常生成.块级元素生成一个矩形框,作为文档流的 的一部分,行内元素则会常见一个或多个行框,至于其父元素 ...

  9. VS2010中dll不可用问题

    最近做项目的时候,深圳那边提供了一个算法.算法在那边跑的好的很,但是在我这边怎么跑都跑不起来,总是报错:说找不到dll. 1.第一种想法:找不到dll,是不是dll放的位置不对.找了一下目录,导入的路 ...

  10. 填坑系列:通过ESXi来配置IPMI

    近日西安的天气很不错,可是看到从其他地方迁移来的主机在新环境下无法远程调试怪郁闷的,这就需要填坑,要不就会给后来者挖更大的坑. 今天遇到的坑是在IPMI的网络设置里面启用了VLAN标签之后,在新环境下 ...