一、asp:Repeater

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

1.1-前台页面代码

  1. <asp:Repeater ID="ImageTypeListNew" runat="server" OnItemCommand="ImageTypeListNew_ItemCommand">
  2. <HeaderTemplate>
  3. <table cellspacing="0" border="0" id="ctl00_contentHolder_ImageTypeList" class="table table-striped">
  4. <tbody>
  5. <tr>
  6. <th>分类名称</th>
  7. <th>图片数</th>
  8. <th>排序</th>
  9. <th style="width: 20%;">操作</th>
  10. </tr>
  11. </HeaderTemplate>
  12. <ItemTemplate>
  13. <tr>
  14. <td>
  15. <asp:HiddenField ID="hfItemIndex" runat="server" Value='<%#Container.ItemIndex %>' />
  16. <asp:HiddenField ID="hfCategoryId" runat="server" Value='<%#Eval("CategoryId") %>' />
  17. <Hi:HtmlDecodeTextBox ID="ImageTypeName" runat="server" Text='<%# Bind("CategoryName") %>' CssClass="forminput form-control" Visible='<%#Eval("CategoryId").ToString()!="0" %>' />
  18. <asp:Label ID="ltlTypeName" runat="server" Text='<%# Bind("CategoryName") %>' Visible='<%#Eval("CategoryId").ToString()=="0" %>'></asp:Label>
  19. </td>
  20. <td>
  21. <%#Eval("VideoCounts") %>
  22. </td>
  23. <td>
  24. <asp:Label ID="Label1" runat="server" Text='<%# Bind("DisplaySequence") %>' Visible='<%#Eval("CategoryId").ToString()=="0" %>'></asp:Label>
  25. <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,'')" />
  26. </td>
  27. <td><span class="submit_shanchu">
  28. <Hi:ImageLinkButton runat="server" ID="lkbtnDelete" CommandName="Delete" IsShow="true" Text="删除" Visible='<%#Eval("CategoryId").ToString()!="0" %>'/></span></td>
  29. </tr>
  30. </ItemTemplate>
  31. <FooterTemplate></tbody></table></FooterTemplate>
  32. </asp:Repeater>

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

代码示例:

  1. DataTable videoCategories = GalleryHelper.GetVideoCategories(0);
  2. DataRow row = videoCategories.NewRow();
  3.  
  4. //如果数据为空,设置第一行数据
  5. row["CategoryId"] = "0";
  6. row["CategoryName"] = "默认分类";
  7. row["DisplaySequence"] = "0";
  8. row["VideoCounts"] = "0";
  9. videoCategories.Rows.InsertAt(row, 0);
  10.  
  11. this.ImageTypeListNew.DataSource = videoCategories;
  12. this.ImageTypeListNew.DataBind();

1.3-使用方法

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

二、UI:Grid/GridView

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

1.1-前台页面代码

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

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

代码示例:

  1. DataTable dt = new DataTable();
  2. if (inviteCodeList.TotalRecords == 0)
  3. {
  4. dt.Columns.Add("SaleId");
  5. dt.Columns.Add("UserId");
  6. dt.Columns.Add("TransactionDate");
  7. dt.Columns.Add("IncomeType");
  8. dt.Columns.Add("TransactionNo");
  9. dt.Columns.Add("TransactionType");
  10. dt.Columns.Add("RefundId");
  11. dt.Columns.Add("SaleName");
  12. dt.Columns.Add("UserName");
  13. dt.Columns.Add("OrderType");
  14. dt.Columns.Add("PaymentType");
  15. dt.Columns.Add("DeliverPrincipal");
  16. dt.Columns.Add("CommissionRate");
  17. dt.Columns.Add("Tax");
  18. dt.Columns.Add("DeliverIncome");
  19. dt.Columns.Add("ApprovedStatus");
  20. dt.Columns.Add("Reason");
  21. dt.Columns.Add("SettlementId");
  22. dt.Columns.Add("Amount");
  23. dt.Columns.Add("ApprovedStatusId");
  24.  
  25. if (dt.Rows.Count == 0)
  26. {
  27. dt.Rows.Add(dt.NewRow());
  28. }
  29. this.grdSaleInviteCode.DataSource = dt;
  30. this.grdSaleInviteCode.DataBind();
  31. }

ASP.NET WebForm中asp:Repeater和UI:Grid数据为空时如何显示表头?的更多相关文章

  1. 【Ext.Net学习笔记】01:在ASP.NET WebForm中使用Ext.Net

    Ext.NET是基于跨浏览器的ExtJS库和.NET Framework的一套支持ASP.NET AJAX的开源Web控件,包含有丰富的Ajax运用,其前身是Coolite. 下载地址:http:// ...

  2. 性能差异 ASP.NET WebForm与ASP.NET MVC

    一.为什么说 ASP.NET WebForm 比 ASP.NET MVC 要差? WebForm 顾名思义,微软一向主打简单化,窗体模式,拖拽控件就能做网站了, 然而这也引发了许多 Java 和 .N ...

  3. .net mvc 站点自带简易SSL加密传输 Word报告自动生成(例如 导出数据库结构) 微信小程序:动画(Animation) SignalR 设计理念(一) ASP.NET -- WebForm -- ViewState ASP.NET -- 一般处理程序ashx 常用到的一些js方法,记录一下 CryptoJS与C#AES加解密互转

    .net mvc 站点自带简易SSL加密传输   因项目需要,传输数据需要加密,因此有了一些经验,现简易抽出来分享! 请求:前端cryptojs用rsa/aes 或 rsa/des加密,后端.net ...

  4. esayUi中datagrid中json串为空时,显示上一次数据的解决方法

    function initSearchProject(startDate,finishDate,flag) {        $("#finishDate").val(finish ...

  5. ASP.NET WebForm中前台代码如何绑定后台变量

    转载自 http://www.cnblogs.com/lerit/archive/2010/10/22/1858007.html 经常会碰到在前台代码中要使用(或绑定)后台代码中变量值的问题.一般有& ...

  6. Ext.Net学习笔记01:在ASP.NET WebForm中使用Ext.Net

    Ext.Net是一个对ExtJS进行封装了的.net控件库,可以在ASP.NET WebForm和MVC中使用.从今天开始记录我的学习笔记,这是第一篇,今天学习了如何在WebForm中使用Ext.Ne ...

  7. System.web.optimization 在 Asp.Net WebForm 中应用得注意了

    我们也可以在Asp.Net WebForm项目中去使用Optimization,去处理我们的资源文件,从而起到优化网站性能的效果,前端知识得从小事做起.但是在使用过程中我却发现了下面的问题. 第一步: ...

  8. Asp.net WebForm 中无法引用App_Code文件夹下的类

    在VS2013中新建asp.net webform应用程序,手动添加"APP_Code"文件夹并新建类文件,发现这些类无法在APP_Code文件夹以外被引用. 解决办法: 选中类文 ...

  9. ASP.NET WebForm中JavaScript修改了页面上Label的值,如何在后台代码中获取

    在用ASP.NET WebForm开发一个项目时,遇到如下的一个情况 页面上有一个Textbox控件,还有2个Label 控件. 当Textbox控件中的值更改时,两个Label控件上的值做相应的更改 ...

  10. ASP.NET WebForm中异步请求防止XSRF攻击的方法

    在ASP.NET MVC中微软已经提供了如何防止跨域攻击的方法.对于传统Webfrom中使用Handler来接受ajax的Post请求数据,如何来防止XSRF攻击呢.这里给大家提供一个简单地方法,和M ...

随机推荐

  1. 一文梳理z-index和层叠上下文

    前言 最近参与某前端项目架构改造,发现项目中滥用z-index,设置的值有几十种并且不统一.在对项目的z-index进行梳理和统一过程中也深入学习了一下z-index,并撰写成文,希望也能帮助到陌生的 ...

  2. 【Python基础】数据类型与类型转换

    五种基本数据类型 在 Python 中,基本数据类型是指不可变对象的数据类型.以下是 Python 中的基本数据类型: 整数类型(int):表示整数,例如 1.2.3 等等. 浮点数类型(float) ...

  3. pandas 常用操作记录

    apply函数 一个非常灵活的函数,能够对整个DataFrame或者Series执行给定函数的操作. 函数可以是自定义的,也可以是python或者pandas内置的函数,还可以是匿名函数. 作用: 用 ...

  4. python使用docxtpl生成word模板

    python-docxtpl包简单使用和实战,Python处理word,docx文件. 最近需要处理一些爬虫得到的数据来进行一些自动化报告的操作,因为需要生成的是word的报告,所以估选用docxtp ...

  5. 2023-02-25:请用go语言调用ffmpeg,解码mp4文件并保存为YUV420SP格式文件,YUV420P不要转换成YUV420SP。

    2023-02-25:请用go语言调用ffmpeg,解码mp4文件并保存为YUV420SP格式文件,YUV420P不要转换成YUV420SP. 答案2023-02-25: 使用 github.com/ ...

  6. 2021-01-13:很多列的数据,任意一列组合查询,mysql能做到,但是上亿的数据量做不到了,查的时候非常慢。我们需要一个引擎来支持它。这个引擎你有了解过吗?

    福哥答案2021-01-13:[答案来自此链接:](https://www.zhihu.com/question/439121902)数据库存储设计一般分为行存储还有列存储.行存储一般每一行的数据通过 ...

  7. 2021-05-21:给定一个数组arr,先递减然后递增,返回arr中有多少个绝对值不同的数字?

    2021-05-21:给定一个数组arr,先递减然后递增,返回arr中有多少个绝对值不同的数字? 福大大 答案2021-05-21: 双指针.左指针最左,符合条件时右移:右指针最右,符合条件时左移.左 ...

  8. 2021-06-30:给定长度为m的字符串aim,以及一个长度为n的字符串str ,问能否在str中找到一个长度为m的连续子串, 使得这个子串刚好由aim的m个字符组成,顺序无所谓, 返回任意满足条件

    2021-06-30:给定长度为m的字符串aim,以及一个长度为n的字符串str ,问能否在str中找到一个长度为m的连续子串, 使得这个子串刚好由aim的m个字符组成,顺序无所谓, 返回任意满足条件 ...

  9. vue全家桶进阶之路29:Element Plus

    Element Plus是一个用于Vue.js的UI组件库,为开发人员提供了一组可重用和可定制化的组件,用于构建现代Web应用程序.它是流行的Element UI库的扩展,重点是提高性能和可访问性. ...

  10. 2023.5.16 总结 AT_abc260_g

    atcoder AT_abc260_g 题意 一个点 O 可以影响到其它点,能影响到的点的坐标满足:(\((u, v)\) 为当前点的坐标,\((x, y) 为能影响到的点的坐标\)) \(u\le ...