首页 > 编程语言 >ASP.NET WebForm中asp:Repeater和UI:Grid数据为空时如何显示表头?

ASP.NET WebForm中asp:Repeater和UI:Grid数据为空时如何显示表头?

时间:2023-08-01 21:34:21浏览次数:44  
标签:控件 ASP Repeater 表头 Add dt 页面 Columns row

一、asp:Repeater

Repeater 控件用于显示被绑定在该控件上的项目的重复列表。Repeater 控件可被绑定到数据库表、XML 文件或者其他项目列表。


1.1-前台页面代码

<asp:Repeater ID="ImageTypeListNew" runat="server" OnItemCommand="ImageTypeListNew_ItemCommand">
                    <HeaderTemplate>
                        <table cellspacing="0" border="0" id="ctl00_contentHolder_ImageTypeList" class="table table-striped">
                            <tbody>
                                <tr>
                                    <th>分类名称</th>
                                    <th>图片数</th>
                                    <th>排序</th>
                                    <th style="width: 20%;">操作</th>
                                </tr>
                    </HeaderTemplate>
                    <ItemTemplate>
                        <tr>
                            <td>
                                <asp:HiddenField ID="hfItemIndex" runat="server" Value='<%#Container.ItemIndex %>' />
                                <asp:HiddenField ID="hfCategoryId" runat="server" Value='<%#Eval("CategoryId") %>' />
                                <Hi:HtmlDecodeTextBox ID="ImageTypeName" runat="server" Text='<%# Bind("CategoryName") %>' CssClass="forminput form-control" Visible='<%#Eval("CategoryId").ToString()!="0" %>' />
                                <asp:Label ID="ltlTypeName" runat="server" Text='<%# Bind("CategoryName") %>' Visible='<%#Eval("CategoryId").ToString()=="0" %>'></asp:Label>
                            </td>
                            <td>
                                <%#Eval("VideoCounts") %>
                            </td>
                            <td>
                                <asp:Label ID="Label1" runat="server" Text='<%# Bind("DisplaySequence") %>' Visible='<%#Eval("CategoryId").ToString()=="0" %>'></asp:Label>
                               <asp:TextBox ID="txtDisplaySequence" runat="server" Button="btnSearchButton" CssClass="forminput form-control" value='<%# Eval("DisplaySequence") %>' Visible='<%#Eval("CategoryId").ToString()!="0" %>' onkeyup="this.value=this.value.replace(/\D/g,'')"  style="width: 60px;" onafterpaste="this.value=this.value.replace(/\D/g,'')" />
                            </td>
                            <td><span class="submit_shanchu">
                                <Hi:ImageLinkButton runat="server" ID="lkbtnDelete" CommandName="Delete" IsShow="true" Text="删除" Visible='<%#Eval("CategoryId").ToString()!="0" %>'/></span></td>
                        </tr>
                    </ItemTemplate>
                    <FooterTemplate></tbody></table></FooterTemplate>
                </asp:Repeater>

 1.2-后台页面代码(核心)

ASP.NET WebForm中asp:Repeater和UI:Grid数据为空时如何显示表头?_ASP.NET


 代码示例:

DataTable videoCategories = GalleryHelper.GetVideoCategories(0);
DataRow row = videoCategories.NewRow();

//如果数据为空,设置第一行数据
row["CategoryId"] = "0";
row["CategoryName"] = "默认分类";
row["DisplaySequence"] = "0";
row["VideoCounts"] = "0";
videoCategories.Rows.InsertAt(row, 0);

this.ImageTypeListNew.DataSource = videoCategories;
this.ImageTypeListNew.DataBind();


1.3-使用方法

在页面加载时【Page_Load】可调用,以及删除/排序/编辑等场景也可调用。

ASP.NET WebForm中asp:Repeater和UI:Grid数据为空时如何显示表头?_ASP.NET_02


二、UI:Grid/GridView

 显示表格数据是软件开发中的一个周期性任务。ASP.NET 提供了许多工具来在网格中显示表格数据,例如 GridView 控件。通过使用 GridView 控件,您可以显示、编辑和删除多种不同的数据源(例如数据库、XML 文件和公开数据的业务对象)中的数据。


1.1-前台页面代码

<UI:Grid ID="grdTopCategries" DataKeyNames="CategoryId" runat="server" ShowHeader="true" AutoGenerateColumns="false" CssClass="table table-striped" GridLines="None" Width="100%">
                <Columns>
                    <asp:TemplateField HeaderText="分类名称">
                        <ItemTemplate>
                            <span class="icon" categoryid='<%# Eval("CategoryId") %>' parentid='<%# Eval("ParentCategoryId") %>' id="spShowImage" runat="server">
                                <img src="../images/jian.gif" width="24" height="24" /></span>
                            <span class="Name" id="spCategoryName"><a href='<%# "/product_detail/"+Eval("CategoryId")%>' target="_blank">
                                <asp:Literal ID="lblCategoryName" runat="server" /></a></span>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:BoundField HeaderText="URL重写名称" DataField="RewriteName" />
                    <asp:TemplateField HeaderText="排序">
                        <ItemTemplate>
                            <asp:TextBox ID="txtSequence" CssClass="form-control" runat="server" Text='<%# Eval("DisplaySequence") %>' Width="80px" />
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="操作" HeaderStyle-CssClass="td_left td_right_fff">
                        <ItemTemplate>
                            <div class="operation">
                                <span><a href="javascript:ShowRemoveProduct(<%#Eval("CategoryId") %>)">转移商品</a></span>
                                  <span><span><a href="javascript:void(0);" onclick="javascript:CollectionCategory('<%# "EditReleteCategory.aspx?ParentCategoryId="+Eval("ParentCategoryId") + "&CategoryId="+Eval("CategoryId")%>')">相关课程</a></span></span>
                                <span>
                                    <asp:HyperLink ID="lkEdit" runat="server" Text="编辑" NavigateUrl='<%# "EditActivityCategory.aspx?CategoryId="+Eval("CategoryId")%>'></asp:HyperLink>
                                </span>
                            </div>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </UI:Grid>

 1.2-后台页面代码(核心)

ASP.NET WebForm中asp:Repeater和UI:Grid数据为空时如何显示表头?_WebForm_03

 代码示例:

DataTable dt = new DataTable();
            if (inviteCodeList.TotalRecords == 0)
            {
                dt.Columns.Add("SaleId");
                dt.Columns.Add("UserId");
                dt.Columns.Add("TransactionDate");
                dt.Columns.Add("IncomeType");
                dt.Columns.Add("TransactionNo");
                dt.Columns.Add("TransactionType");
                dt.Columns.Add("RefundId");
                dt.Columns.Add("SaleName");
                dt.Columns.Add("UserName");
                dt.Columns.Add("OrderType");
                dt.Columns.Add("PaymentType");
                dt.Columns.Add("DeliverPrincipal");
                dt.Columns.Add("CommissionRate");
                dt.Columns.Add("Tax");
                dt.Columns.Add("DeliverIncome");
                dt.Columns.Add("ApprovedStatus");
                dt.Columns.Add("Reason");
                dt.Columns.Add("SettlementId");
                dt.Columns.Add("Amount");
                dt.Columns.Add("ApprovedStatusId");

                if (dt.Rows.Count == 0)
                {
                    dt.Rows.Add(dt.NewRow());
                }
                this.grdSaleInviteCode.DataSource = dt;
                this.grdSaleInviteCode.DataBind();
            }

标签:控件,ASP,Repeater,表头,Add,dt,页面,Columns,row
From: https://blog.51cto.com/kimiliucn/6928506

相关文章

  • ASP.NET WebForm中在TextBox输入框回车时会触发其他事件,如何处理?
    一、TextBox在输入框回车时会触发其他事件,如何解决?在ASP.NETWebForm中,在页面中按键盘上的回车键,会自动触发某些事件,但是这并不是我们想要的效果,我们可以设置将其取消,那如何处理呢?前台代码:<ul><li><span>名称:</span><asp:TextBoxID="txtCategoryName"runat="ser......
  • RASP知识学习笔记
    RASPRASP(Runtimeapplicationself-protection)是一种内置或链接到应用程序环境中的安全技术,与应用程序融为一体,实时监测、阻断攻击,使程序自身拥有自我保护的能力。工作原理RASP技术是一种基于服务器的技术,一旦应用程序运行开始时就会激活。而且,所有RASP产品都包含一个运行时监......
  • ASP.NET Core Library – ImageSharp
    前言2021年就写过一篇了, Asp.netcore学习笔记Imageprocessing(ImageSharp),只是那时还是旧的写法,这篇作为翻新和以后继续增加新功能的介绍.ImageSharp是.NET平台开源的图片处理Library.完全用C#来写,从0开始写.写了很多年,目前算是比较ok用了.2022......
  • ASP.NET CORE下日志NLOG使用
    ASP.NETCORE下日志NLOG使用摘自《深入浅出ASP.NETCORE》NUGET:NLog.Web.AspNetCore4.9.0根目录下nlog.config<?xmlversion="1.0"encoding="utf-8"?><nlogxmlns="http://www.nlog-project.org/schemas/NLog.xsd"xmlns:xsi="htt......
  • asp.net core之日志
    日志记录在应用程序开发中起着至关重要的作用,它可以帮助开发人员诊断和调试问题,同时也是监控和性能优化的重要工具。ASP.NETCore提供了强大且灵活的日志记录功能,本文将详细介绍ASP.NETCore中的日志记录,包括日志配置、日志类别级别、使用场景以及日志记录提供程序。日志配置......
  • 7种方法!教你如何使用Telerik UI for ASP.NET定制编辑器
    TelerikUIforASP.NETCore是用于跨平台响应式Web和云开发的最完整的UI工具集,拥有超过60个由KendoUI支持的ASP.NET核心组件。它的响应式和自适应的HTML5网格,提供从过滤、排序数据到分页和分层数据分组等100多项高级功能。TelerikUIforASP.NETCore的编辑器是一个多功能的所......
  • [回馈]ASP.NET Core MVC开发实战之商城系统(四)
    经过一段时间的准备,新的一期【ASP.NETCoreMVC开发实战之商城系统】已经开始,在之前的文章中,讲解了商城系统的整体功能设计,页面布局设计,环境搭建,系统配置,及首页【商品类型,banner条,友情链接,降价促销,新品爆款】,商品列表页面等功能的开发,今天继续讲解商品详情功能开发,仅供学习分享使......
  • asp.net上传文件到服务器指定文件夹问题
    ​ IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头。 一. 两个必要响应头Accept-Ranges、ETag        客户端每次提交下载请求时,服务端都要添加这两个响应头,以保证客户端和服务端将此下载识别为可以断点续......
  • 简简单单学docker在群晖nas中构建docker版aspnetcore网站
    琢磨了n天,掉了好多头发,终于可以了,踩坑无数!终于行了!先来了解下:1.net运行时runtime和sdk,简单来说就是sdk开发用的,runtime是用来运行的,所以构建dockerfile只用runtime就够了!2.docker运行不需要打包操作系统如ubuntu等进入包内!特殊需要的可以!这个问题都必须了解!正式开始1.用vs202......
  • asp.net repeater控件
    1、ASP.NET数据控件解析2、在asp.net中怎么使用repeater控件动态绑定数据.绑成table形式的...3、c#asp.net里面的Repeater控件绑定数据具体怎么用啊?4、在asp.net中,关于Repeater控件的错误说法是?5、asp.net中怎样获取repeater中的数据ASP.NET数据控件解析1、ASP.Net......