ASP.NET-----Repeater数据控件的用法总结

2023-11-12

一、Repeater控件的用法流程及实例:

1、首先建立一个网站,新建一个网页index.aspx。

2、添加或者建立APP_Data数据文件,然后将用到的数据库文件放到APP_Data文件夹中。

3、打开数据库企业管理器,数据库服务器为local(.),然后将APP_Data文件夹中的数据库附加到数据库服务器中。

4、添加Ling to  SQL类。

5、打开视图,服务器资源管理器,右击数据库服务器,选择添加连接,然后选择数据库服务器、数据库类型,及数据库表,然后完成。

6、将需要用到的表,全部选中,然后拖动到.dbml为后缀的文件中,然后保存。到这一步,数据表的附加及与网站的连接就完成了。

目标:通过使用Repeater数据控件,让数据表中的数据在表格中显示。

1、添加样式文件,然后在样式文件中,书写表格的样式代码。

2、在index.aspx的设计模式下,插入表格,通常插入两行(一行为标题行,一行为内容行),因为Repeater控件会自动循环的。然后在源代码界面中,将刚插入的表格的第一行的单元格改为,标题单元格,即将<td>改为<th>。

3、选中表格,然后选择格式,然后选择附加样式表。接下来,需要将源代码中的头部中样式代码删除,将行样式删除,并且书写新建的样式表中的类或这ID到表格中。

4、然后,将光标放到table前面,双击repeater控件,这样Repeater控件的代码就添加到了Table代码的前面,然后分别为Repeater控件添加头部模版(<HeaderTemplate></HeaderTemplate>  )、列表模版(<ItemTemplate></ItemTemplate>)和尾部模版( <FooterTemplate> </FooterTemplate>)。

注意:

头部模版放置表格开始及第一行标题行(<table><tr><th></th></tr>);列表模版放置表格第二行(<tr></tr>);尾部模版放置表个结束(</table>)。

插入表格时只需插入两行即可,显示数据时是根据数据库表循环显示的。项目模板,会进行循环显示,放置表格第二行。

5、然后在标题行的单元格中书写将要显示的数据库中字段的别名,在内容行的单元格中书写数据库中的字段名,方式为:<td><%#Eval("数据库字段名") %></td>

核心代码为:

<body>
    <form id="form1" runat="server">
    <div>
    <!--光标放到table前面,双击repeater控件,三个缺一不可-->
        <asp:Repeater ID="Repeater1" runat="server">
        <HeaderTemplate><!--头部模板,放表格开始及第一行标题-->
        <table class="ts"><!--插入表格时只需插入两行即可,显示数据时是根据数据库表循环显示的-->
            <tr>
                <th>
                    学号</th>
                <th>
                    姓名</th>
                <th>
                    性别</th>
                <th>
                    籍贯</th>
                <th>
                    年龄</th>
            </tr></HeaderTemplate>   
        <ItemTemplate><!--项目模板,会进行循环显示,放置表格第二行-->
        <tr>
                <td>
                    <%#Eval("number") %> <!--HTMl中插入其他代码需要用<% %>括起来,Eval("数据库中的字段名")-->
                    </td>
                <td>
                  <%#Eval("name")%> </td>
                <td>
                   <%#Eval("sex")%> </td>
                <td>
                     <%#Eval("place")%></td>
                <td>
                    <%#Eval("age")%> </td>
            </tr>
        </ItemTemplate>       
        <FooterTemplate><!--底部模板-->
        </table>        <!--表格结束部分-->
        </FooterTemplate>   
        </asp:Repeater>
        
            
            
    
    </div>
    </form>
</body>

 

注意:

HTMl中插入其他代码需要用<% %>括起来。

6、然后在index.aspx.cs的Page_Load()事件中绑定数据源。

核心代码为:

public partial class citynumber : System.Web.UI.Page
{
    DataClassesDataContext dc = new DataClassesDataContext();
    protected void Page_Load(object sender, EventArgs e)
    {

        var query = from c in dc.city select c;
        Repeater1.DataSource = query;
        Repeater1.DataBind();
    }
}

7、运行index.aspx页面即可看到数据库中各字段信息。

二、通过Table显示数据库中的字段时,为字段添加超链接。

1、新建两个页面,index.aspx 页面和Cities.aspx页面。

index.aspx页面代码:

<body>
    <asp:Repeater ID="Repeater1" runat="server">
    <HeaderTemplate>
    <table class="ts">
        <tr>
            <th>
                省份名称</th>
            <th>
                省份编号</th>
        </tr>
    </HeaderTemplate>
    <ItemTemplate>
    <tr>
            <td>
                <a href='Cities.aspx?pro=<%#Eval("proID") %>' target="_blank"><%#Eval("proName") %></a></td><!--添加超链接,超链接放到内容的两边-->
            <td>
            <%#Eval("proID")%></td>
        </tr>
    </ItemTemplate>
    <FooterTemplate>
    </table>
    </FooterTemplate>
    </asp:Repeater>
    <form id="form1" runat="server">
    <div>
    </div>
    </form>
</body>

index.aspx.cs中的代码:

public partial class index : System.Web.UI.Page
{
    DataClassesDataContext dc = new DataClassesDataContext();
    protected void Page_Load(object sender, EventArgs e)
    {

        var query = from c in dc.province select c;
        Repeater1.DataSource = query;
        Repeater1.DataBind();
    }
}

Cities.aspx页面中的代码:

<body>
    <form id="form1" runat="server">
    <div>
    
        <asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" 
            GridLines="None" Width="909px">
            <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <RowStyle BackColor="#EFF3FB" />
            <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
            <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
            <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
            <EditRowStyle BackColor="#2461BF" />
            <AlternatingRowStyle BackColor="White" />
        </asp:GridView>
    
    </div>
    </form>
</body>

Cities.aspx.cs页面中的代码:

public partial class Cities : System.Web.UI.Page
{
    DataClassesDataContext dc = new DataClassesDataContext();
    protected void Page_Load(object sender, EventArgs e)
    {
        int  id =Convert.ToInt32(Request.QueryString["pro"].ToString());
        var query = from c in dc.city where c.proID == id select c;
        GridView1.DataSource = query;
        GridView1.DataBind();

    }
}

然后运行index.aspx页面,通过单击超链接就跳转到了Cities.aspx,在该页面显示信息。

沁园春 www.qinychun.com
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET-----Repeater数据控件的用法总结 的相关文章

  • Android - 保存动态更改布局的状态

    我有一个布局 用户可以在其中添加按钮并将其放置在他们想要的位置 我想允许用户保存他们的布局 以便下次打开应用程序时加载它 有谁知道我是否可以将文件保存到 SD 卡上 或者 我可以使用某种layout getXml 方法并将其放入我的应用程序
  • Android 通知进度条冻结

    这是我正在使用的代码 http pastebin com 3bMCKURu http pastebin com 3bMCKURu 问题是 一段时间后 文件变得更重 通知栏下拉速度变慢 最后它就冻结了 你的通知太频繁了 这就是它冻结的原因 让
  • GCM 向主题发送消息:TOO_MANY_TOPICS 错误

    以前 GCM 每个应用程序有 100 万个主题订阅的限制 我发现他们现在已经取消了这一限制 基于发布 订阅模型 主题消息支持 每个应用程序无限订阅 https developers google com cloud messaging to
  • 如何更新 Firebase 中的节点密钥?

    如何重命名14 04 2017 node 没有用于重命名节点的 API 您必须获取节点的值 使用新名称将其保存到数据库并删除旧节点
  • 在自定义对象中创建时粘性服务不会重新启动

    我有一个具有绑定服务的单例对象 我希望它重新启动 当我从启动器启动应用程序时 单例对象将初始化并绑定到这个现有的服务实例 以下是在单例中创建和绑定服务的代码 public class MyState private static MySta
  • 接近语法错误(代码1)插入Android SQLite

    我正在创建一个通讯录应用程序 用户可以在其中输入姓名 电子邮件地址和号码 我希望将此数据保存在数据库中 但我似乎无法使插入方法起作用 我收到的错误是 android database sqlite SQLiteException near
  • Android Studio 在编译时未检测到支持库

    由于 Android Studio 将成为 Android 开发的默认 IDE 因此我决定将现有项目迁移到 Android studio 中 项目结构似乎不同 我的项目中的文件夹层次结构如下 Complete Project gt idea
  • 在 Jetpack Compose 中启动动画矢量 Drawable

    我有一个动画矢量可绘制R drawable my anim 我想在 Jetpack Compose 中展示并开始 可绘制对象显示 渲染正确 但动画未启动 这是撰写视图 Composable fun SplashView Surface mo
  • ROOM迁移过程中如何处理索引信息

    CODE Entity tableName UserRepo indices Index value id unique true public class GitHubRepo PrimaryKey autoGenerate true p
  • Android Studio:无法启动守护进程

    当我尝试在 Android Studio 中导入 gradle 项目时 遇到以下错误 Unable to start the daemon process This problem might be caused by incorrect
  • 材质设计图标颜色

    应该是哪种颜色 暗 材质图标 在官方文档上 https www google com design spec style icons html icons system icons https www google com design s
  • 调节麦克风录音音量

    我们正在尝试调整录音时的音量级别 麦克风似乎非常敏感 会接收到很多静电 我们查看了 setVolumeControlStream 但找不到传入其中来控制麦克风的流 将您的音频源设置为 MIC using MediaRecorder Audi
  • 如何将设备连接到Eclipse?

    我无法解决这个简单的问题 我正在尝试通过 USB 电缆将我的设备连接到 Eclipse 在我的 PC 上 我已经安装了 Eclipse 和 Android SDK 并且在模拟器上运行该程序运行良好 我已在我的电脑上下载并安装了 Samsun
  • 通过 ADB 拔出设备:“找不到服务”

    我必须测试我的应用程序在打瞌睡模式下的行为 根据文档 https developer android com training monitoring device state doze standby html testing doze 我
  • Android中webview的截图方法

    我在 webview 中的 html5 canvas 上画了一些线 并尝试使用下面的代码截取 webview 的屏幕截图 WebView webView WebView findViewById R id webview webView s
  • SharedFlow 和 StateFlow 的主要区别

    两者有什么区别共享流 and 状态流 以及如何使用这些MVI建筑学 使用简单更好吗Flow或者这些作为状态和事件 Flow 是冷的 意味着它仅在收集数据时才发出数据 另外Flow不能保存数据 可以把它看成是水在里面流动的管道 Flow中的数
  • Android:有没有办法以毫安为单位获取设备的电池容量?

    我想获取设备的电池容量来进行一些电池消耗计算 是否可以以某种方式获取它 例如 三星 Galaxy Note 2 的电池容量为 3100mAh 谢谢你的帮助 知道了 在 SDK 中无法直接找到任何内容 但可以使用反射来完成 这是工作代码 pu
  • 在 Android 中,如何将字符串从 Activity 传递到 Service?

    任何人都可以告诉如何将字符串或整数从活动传递到服务 我试图传递一个整数 setpossition 4 但它不需要 启动时总是需要 0 Service 我不知道为什么我不能通过使用 Service 实例从 Activity 进行操作 publ
  • 无法运行我的应用程序,要求选择 Android SDK

    今天我已经安装了Android Studio 金丝雀 1 现在我无法运行我的应用程序 将出现以下对话框 我已经通过 文件 gt 项目结构 gt Android SDK 位置 设置了正确的 SDK 位置 期待您的帮助来解决这个问题 警告对话框
  • 在 Google 地图上绘制线条/路径

    我很长一段时间都在忙于寻找如何在 HelloMapView 中的地图上的两个 GPS 点之间画一条线 但没有运气 谁能告诉我该怎么做 假设我使用扩展 MapView 的 HelloMapView 我需要使用叠加层吗 如果是这样 我是否必须重

随机推荐

  • greenDao官网

    http greenrobot org greendao documentation
  • 基于Keras实战项目-猫狗熊猫分类大战

    欢迎来到本博客 本次博客内容将继续讲解关于OpenCV的相关知识 作者简介 目前计算机研究生在读 主要研究方向是人工智能和群智能算法方向 目前熟悉深度学习 keras pytorch yolo python网页爬虫 机器学习 计算机视觉 O
  • 三个月华为od工作感受:关于转正,身份和适合谁

    三个月对Od认识的变化 关于华为Od在网上已经被讨论得很多了 在各大IT求职论坛中Od都成为流量密码了 一旦有人谈起od评论区就会开吵 这几个月中我对Od的认识也是从浅入深 对Od的态度也在变化 今年 2022年 4月份的时候那时候我刚入职
  • Redis实现商品秒杀

    随着互联网的发展和消费者的需求越来越高 商品的销售也变得越来越激烈 而对于商家来说 最直观的解决方式即为促销活动 然而 促销活动也会引发一定的风险 如果处理得不当 可能会出现 抢购 活动中的库存不足等问题 本文将利用Redis实现商品秒杀
  • 离线部署node项目、nuxt项目

    如果你的目标系统不具备互联网访问功能 或者具有严格的防火墙管控 并且你想部署一个node应用 那么以下内容可能对你有些帮助 准备好源代码工程 准备好一个具有相同node环境且具备访问互联网功能的同种系统 以下称NetOS 将源代码工程目录拷
  • 一个简单的登录注册界面流程介绍

    登录页面实现 其他页面的实现可以到github上克隆下来 login interface login server 一 用户登录 1 密码登录 流程 用户输入密码 表单使用正则验证用户名和密码格式 点击登录 对密码进行加密 并发送登录验证请
  • LeetCode每日一练 —— 88. 合并两个有序数组

    前言 Wassup guys 我是Edison 今天是 LeetCode 上的 leetcode 88 合并两个有序数组 Let s get it 文章目录 1 题目分析 2 题目图解 思路一 思路二 3 代码实现 1 题目分析 给你两个按
  • ENU、EPSG、ECEF坐标系科普(三维重建)

    科普一 ENU和EPSG实际上代表了两个不同的概念 这两者并不是直接对比的 1 ENU坐标系 ENU坐标系是一种本地切面坐标系 用于表示与地理位置相关的空间数据 在ENU坐标系中 E代表东 East N代表北 North U代表上 Up 它
  • LeetCode 406. Queue Reconstruction by Height 解题报告

    LeetCode 406 Queue Reconstruction by Height 解题报告 题目描述 Suppose you have a random list of people standing in a queue Each
  • 算法—反转链表

    题目 实现单链表的逆转函数 输入一个链表 反转链表后 返回翻转之后的链表 分析 利用三个指针 head node nodeNext node指向当前结点 head指向当前结点的前一个结点 nodeNext指向当前结点的后一个结点 先将hea
  • 浏览器动态显示服务器日志,基于 websocket 实现远程实时日志 在浏览器中查看设备的运行日志...

    本文介绍一个基于websocket实现的远程实时日志系统 可以通过浏览器查看远程移动设备的实时运行日志 系统由三个部分组成 1 服务器 与移动设备和浏览器建立websocket连接 将移动设备websocket上读取的实时日志转发到对应的浏
  • 每日算法-回文链表

    题目 请判断一个链表是否为回文链表 示例 1 输入 1 gt 2 输出 false 示例 2 输入 1 gt 2 gt 2 gt 1 输出 true 进阶 你能否用 O n 时间复杂度和 O 1 空间复杂度解决此题 解法 思路一 先把链表的
  • QGIS自定义地图工具

    官方示例 首先看一下官方文档中的矩形工具源码 class RectangleMapTool QgsMapToolEmitPoint def init self canvas self canvas canvas QgsMapToolEmit
  • fatal: pathspec ‘fileName‘ did not match any files 解决办法

    再删除文件的时候突然出现了这个问题 fatal pathspec fileName did not match any files 分析如下 这个文件怎么回事 为什么删不掉 难道是分支的错误 还是怎么回事 产生原因 该文件存在于 gitig
  • C语言----实现有向图/无向图的创建与基本操作(深度、广度优先遍历)

    最近发现一个不错的项目 Github上数据结构所有算法源码实现 数据结构 严蔚敏 吴伟民 教材源码与习题解析 1 图的数组 邻接矩阵 存储表示 包含算法 有向图 无向图创建 添加顶点 删除边 插入边 深度优先遍历 递归 广度优先遍历 队列实
  • 跨平台的桌面应用程序开发框架Electron

    electron electron Stars 109 3k License MIT Electron 是一个基于 Node js 和 Chromium 的开源框架 允许使用 JavaScript HTML 和 CSS 编写跨平台的桌面应用
  • Elasticsearch系列---聚合查询原理

    概要 本篇主要介绍聚合查询的内部原理 正排索引是如何建立的和优化的 fielddata的使用 最后简单介绍了聚合分析时如何选用深度优先和广度优先 正排索引 聚合查询的内部原理是什么 Elastichsearch是用什么样的数据结构去执行聚合
  • linux 下交换 esc与cap的方法。

    有两种方法 1 xmodmap 2 dconf editer 操作如下图所示 xkb options 改为图片所示
  • STM32项目 -- 选题分享(部分)

    前言 分享部分STM32项目选题以及实现效果 暂时没有分享代码 列表 编号 项目名称 难度 使用器件 实现效果 1 基于STM32的智能万用表设计 3 STM32F103C8T6 OLED 1 测量电压 2 OLED显示测量值 3 实现层级
  • ASP.NET-----Repeater数据控件的用法总结

    一 Repeater控件的用法流程及实例 1 首先建立一个网站 新建一个网页index aspx 2 添加或者建立APP Data数据文件 然后将用到的数据库文件放到APP Data文件夹中 3 打开数据库企业管理器 数据库服务器为loca