在上两节教程中,我们看到了如何使用TemplateField来自定义GridView和DetailsView的输入。TemplateField使我们可以高度自主的定义某个特定的列,但不管是GridView还是DetailsView,都会有点太规则了,简单的说就是它们都有着四四方方的格子一样的外观。很多情况下这样的格子一样的外观是很不错的,不过有的时候我们却需要使用一个不规则的显示外观。当需要显示一个单独的记录时,使用FormView控件就可以实现这种比较随意的外观呈现。
跟DetailsView不同,FormView并不是由那些杂七杂八的列所组成的。你不能给一个FormView添加BoundField或是TemplateField,不过FormView是使用模板来呈现的。我们可以这样来理解FormView,把它当作只含有一个TemplateField的DetailsView控件。FormView支持以下这些模板:
· ItemTemplate – 用于在FormView种呈现一个特殊的记录
· HeaderTemplate – 用于指定一个可选的页眉行
· FooterTemplate –用于指定一个可选的页脚行
· EmptyDataTemplate – 当FormView的DataSource缺少记录的时候,EmptyDataTemplate将会代替ItemTemplate来生成控件的标记语言
· PagerTemplate – 如果FormView启用了分页的话,这个模板可以用于自定义分页的界面
· EditItemTemplate / InsertItemTemplate – 如果FormView支持编辑或插入功能,那么这两种模板可以用于自定义相关的界面
在本节教程中,我们将解释如何使用FormView控件来为产品呈现一个不规则的外观。FormView的ItemTemplate将会使用一个页眉元素和的结合体来显示名称、分类、供应商等等的值,而不是使用各种各样的列(如图一所示)。 图一:FormView打破了DetailsView的那种格子一样外观 第一步:将数据绑定到FormView 打开FormView.aspx页面,并从工具箱中拖一个FormView到设计器中。FormView刚刚添加到页面上时,它就是一个灰色的方块,这就告诉我们它需要一个ItemTemplate。 图二:FormView在添加一个ItemTemplate之前是不会在设计器中呈现出来的 可以手工编写代码(在源视图中)来添加ItemTemplate,也可以通过在设计器中将FormView绑定到一个数据源控件上来实现自动添加。这个自动生成的ItemTemplate包含了用于显示各字段的名称的HTML代码,还有用于显示各字段的值的Label控件,当然了,这些Label控件的Text属性都已经绑定到了各相应的字段上。这个操作也同时生成了InsertItemTemplate和EditItemTemplate,它们为数据源控件的每一个字段都呈现了一个输入控件。 如果你想要自动生成模板,首先应该使用ProductsBLL类的GetProducts()方法来给FormView添加一个ObjectDataSource控件,通过FormView的智能标签你就可以做到上面的这个操作。这样就可以创建一个带有ItemTemplate、InsertItemTemplate和EditItemTemplate的FormView了。在源视图中,删除InsertItemTemplate和EditItemTemplate,因为我们现在对创建一个可编辑和可插入的FormView并不感兴趣。然后,清空ItemTemplate中的标记语言代码,这样我才可以工作于一个干净的环境上。 如果你喜欢手工建立ItemTemplate,你可以从工具箱中拖一个ObjectDataSource到设计器中并配置它,这里可不要在设计器中为FormView添加数据源。我们应该到源视图中手工的将ForView的DataSourceID属性设置为ObjectDataSource的ID,然后再手工添加ItemTemplate。 不管你决定使用哪种方式,反正最后你的FormView的声明标记代码应该像下面这个样子: 1<asp:FormView ID="FormView1" runat="server" DataSourceID="ObjectDataSource1">2 <ItemTemplate>3 4 ItemTemplate>5asp:FormView> 花点儿时间到FormView的智能标签中勾上“启用分页(Enable Paging)”复选框,这样可以在FormView的声明标记代码中加上AllowPaging="True"这么一个属性(attribute)。另外,把EnableViewState属性设置为false。 第二步:定义ItemTemplate的标记代码(MarkUp) 在将FormView绑定到ObjectDataSource控件并且将其配置为支持分页之后,我们就准备指定ItemTemplate的内容了。在本教程中,让我们将产品名称显示在一个中。跟着让我们使用将余下的产品属性显示在一个四列的表中,其中第一列和第三列用于显示产品属性的名称,第二列和第四列用于显示产品属性的值。 在设计器中通过FormView的模板编辑界面或是在源视图中手工输入代码都可以添加上面所说的这些标记代码。使用模板的时候,我发现直接在源视图中编代码会来得比较快,不过你可以使用任何一种让你觉得够爽的方式。 下面的声明标记代码展示了FormView在完成了ItemTemplate的结构之后所应该有的样子: 1<asp:FormView ID="FormView1" runat="server" DataSourceID="ObjectDataSource1" AllowPaging="True" EnableViewState="False"> 2 <ItemTemplate> 3 <hr /> 4asp:FormView> 注意这个数据绑定语法——以<%# Eval("ProductName") %>为例——可以直接插入到模板的输出中。那是因为它没有必要绑定到一个Label控件的Text属性上。举个例子,比如我们要将ProductName的值使用<%# Eval("ProductName") %>来显示在一个元素中,那么产品“Chai”将被输出为Chai。 CSS类ProductPropertyLabel和ProductPropertyValue用于指定中的产品属性的名称和值的样式。这些CSS类定义在Styles.css中,它们使产品属性的名称粗体显示并且右对齐,它们还给产品属性的值加上一个右填充。 由于FormView没有CheckBoxField,要将Discontinued的值显示为一个CheckBox的话,我们就必须自己添加一个CheckBox控件。将这个CheckBox控件的Enabled属性设置为false以使其只读,并将其Checked属性绑定到Discontinued字段上去。 完成了ItemTemplate之后,产品信息就以一种更加不规则的方式来显示了。来比较一下上一节中的DetailsView的输出(图三)和本节所讨论的FormView的输出(图四)。 图三:生硬的DetailsView输出 图四:柔和的FormView输出 总结 虽然GridView和DetailsView控件可以使用TemplateField来自定义它们的输出,不过它们都呈现为一种格子一样的四四方方的样子。在那些需要使用一种不规则的外观来显示一个单独的记录的时候,FormView就是一个理想的选择。跟DetailsView一样,FormView从它的DataSource中显示一个单独的记录。不过它也有跟DetailsView不同的地方,它仅由模板组成,而且它根本不支持字段(fields。译者注:比如说CheckBoxField)。 就像我们在本节中看到的那样,在显示一个单独的记录的时候,FormView提供了一种更加复杂的的呈现方式。在今后的教程中我们将解释一下DataList和Repeater控件,它们可以提供跟FormView一样复杂的呈现,不过它们可以显示多列(就像GridView那样)。 编程愉快! 关于作者 Scott Mitchell,著有六本ASP/ASP.NET方面的书,是4GuysFromRolla.com的创始人,自1998年以来一直应用微软Web技术。Scott是个独立的技术咨询顾问,培训师,作家,最近完成了将由Sams出版社出版的新作,24小时内精通ASP.NET 2.0。他的联系电邮为mitchell@4guysfromrolla.com,也可以通过他的博客http://ScottOnWriting.NET与他联系。 asp.net view c# grid header insert html label text 写下你的评论吧 ! 吐个槽吧,看都看了 会员登录 | 用户注册 推荐阅读 get 十六.增加一个项目协作留言板功能(二)----- 建立一个任务管理的列表页面 我们设计一个页面来展示正在处理的任务,该表格可以参照之前基础信息的增删改查。用户通过这个页面对任务进行相应操作。1.在views. ... [详细] 蜡笔小新 2023-10-16 11:43:26 js 如何限制php数据库链接数和连接超时时间? 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细] 蜡笔小新 2023-12-14 14:06:10 command 利用Visual Basic开发SAP接口程序初探的方法与原理 本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细] 蜡笔小新 2023-12-13 10:56:31 io 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板 本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细] 蜡笔小新 2023-12-12 17:52:50 format [echarts] 同指标对比柱状图相关的知识介绍及应用示例 本文由编程笔记小编为大家整理,主要介绍了echarts同指标对比柱状图相关的知识,包括对比课程通过率最高的8个课程和最低的8个课程以及全校的平均通过率。文章提供了一个应用示例,展示了如何使用echarts制作同指标对比柱状图,并对代码进行了详细解释和说明。该示例可以帮助读者更好地理解和应用echarts。 ... [详细] 蜡笔小新 2023-12-09 10:02:11 php 包含vb.net同时运行的词条 vb.net不用多线程如何同时运行两个过程?不用多线程?即使用多线程,也不会是“同时”执行,题主只要略懂一些计算机编译原理就能明白了。不用多线程更不可能让两个过程同步执行了。不过可 ... [详细] 蜡笔小新 2023-10-17 18:18:35 bit 前端库Bootstrap框架:「11]使用 span 创建行内元素 前端库Bootstrap框架:「11]使用 span 创建行内元素 ... [详细] 蜡笔小新 2023-10-15 11:37:25 range logistic回归(线性和非线性)的开发笔记 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细] 蜡笔小新 2023-12-14 21:40:43 io 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar) 转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎 ... [详细] 蜡笔小新 2023-12-13 16:11:00 数组 Java中vector的使用详解 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细] 蜡笔小新 2023-12-13 14:14:39 php 如何在Windows环境下配置php+apache环境 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细] 蜡笔小新 2023-12-13 10:39:24 instance Python爬虫技术基础篇面向对象高级编程(中)的多重继承 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细] 蜡笔小新 2023-12-12 16:19:02 数组 【Vue】表单 input 绑定 网址:https:vue.docschina.orgv2guideforms.html表单input绑定基础用法可以通过使用v-model指令,在 ... [详细] 蜡笔小新 2023-12-11 18:07:28 php undefined err_url in mult_submits UsingPMA-2.5.2-rc2onPHP-4.1.2andnothavingDROPTABLEprivilege,whenI-sel ... [详细] 蜡笔小新 2023-10-16 14:20:57 default vue 如何监听事件动态传至给子组件 点击后defaultEducation的值明明改变了,但props传给子组件却watch不到 ... [详细] 蜡笔小新 2023-10-15 17:58:49 阿魏空荡荡 这个家伙很懒,什么也没留下! Tags | 热门标签 cPlusPlus eval email subset less ascii lua flutter export io default python2 byte javascript tree callback search match heatmap 数组 command golang format bit php replace range instance js cSharp RankList | 热门文章 1大幅|大盘_OPLG:新一代云原生可观测最佳实践 2你什么时候才会重视你的学历呢? 3如何为什么不定高度的元素添加CSS3 transition【HTML】 4手把手教你完成一个简朴的编译器 5Docker内存使用 6cad2019安装时出现error1308,cad2016安装出现error1308 7下游|事情_架构文摘:消息队列设计精要 8git 分支管理笔记 9线程池正确用法 10支付宝wap端支付php对接_PHP接入支付宝手机网站支付、移动支付接口 11Java数据结构与算法_03 栈 (小型计算器、逆波兰表达式) 12joptsimple.OptionDescriptor.requiresArgument()方法的使用及代码示例 13Day1 快捷指令 14linux lowmem使用情况,linux参数之/proc/sys/vm详解 15php使用curl上传文件报找不到文件的错误 curl是什么意思 php curl curl ini PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具 Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有
图一:FormView打破了DetailsView的那种格子一样外观
第一步:将数据绑定到FormView
打开FormView.aspx页面,并从工具箱中拖一个FormView到设计器中。FormView刚刚添加到页面上时,它就是一个灰色的方块,这就告诉我们它需要一个ItemTemplate。
图二:FormView在添加一个ItemTemplate之前是不会在设计器中呈现出来的
可以手工编写代码(在源视图中)来添加ItemTemplate,也可以通过在设计器中将FormView绑定到一个数据源控件上来实现自动添加。这个自动生成的ItemTemplate包含了用于显示各字段的名称的HTML代码,还有用于显示各字段的值的Label控件,当然了,这些Label控件的Text属性都已经绑定到了各相应的字段上。这个操作也同时生成了InsertItemTemplate和EditItemTemplate,它们为数据源控件的每一个字段都呈现了一个输入控件。
如果你想要自动生成模板,首先应该使用ProductsBLL类的GetProducts()方法来给FormView添加一个ObjectDataSource控件,通过FormView的智能标签你就可以做到上面的这个操作。这样就可以创建一个带有ItemTemplate、InsertItemTemplate和EditItemTemplate的FormView了。在源视图中,删除InsertItemTemplate和EditItemTemplate,因为我们现在对创建一个可编辑和可插入的FormView并不感兴趣。然后,清空ItemTemplate中的标记语言代码,这样我才可以工作于一个干净的环境上。
如果你喜欢手工建立ItemTemplate,你可以从工具箱中拖一个ObjectDataSource到设计器中并配置它,这里可不要在设计器中为FormView添加数据源。我们应该到源视图中手工的将ForView的DataSourceID属性设置为ObjectDataSource的ID,然后再手工添加ItemTemplate。
不管你决定使用哪种方式,反正最后你的FormView的声明标记代码应该像下面这个样子:
花点儿时间到FormView的智能标签中勾上“启用分页(Enable Paging)”复选框,这样可以在FormView的声明标记代码中加上AllowPaging="True"这么一个属性(attribute)。另外,把EnableViewState属性设置为false。
第二步:定义ItemTemplate的标记代码(MarkUp)
在将FormView绑定到ObjectDataSource控件并且将其配置为支持分页之后,我们就准备指定ItemTemplate的内容了。在本教程中,让我们将产品名称显示在一个中。跟着让我们使用将余下的产品属性显示在一个四列的表中,其中第一列和第三列用于显示产品属性的名称,第二列和第四列用于显示产品属性的值。 在设计器中通过FormView的模板编辑界面或是在源视图中手工输入代码都可以添加上面所说的这些标记代码。使用模板的时候,我发现直接在源视图中编代码会来得比较快,不过你可以使用任何一种让你觉得够爽的方式。 下面的声明标记代码展示了FormView在完成了ItemTemplate的结构之后所应该有的样子: 1<asp:FormView ID="FormView1" runat="server" DataSourceID="ObjectDataSource1" AllowPaging="True" EnableViewState="False"> 2 <ItemTemplate> 3 <hr /> 4asp:FormView> 注意这个数据绑定语法——以<%# Eval("ProductName") %>为例——可以直接插入到模板的输出中。那是因为它没有必要绑定到一个Label控件的Text属性上。举个例子,比如我们要将ProductName的值使用<%# Eval("ProductName") %>来显示在一个元素中,那么产品“Chai”将被输出为Chai。 CSS类ProductPropertyLabel和ProductPropertyValue用于指定中的产品属性的名称和值的样式。这些CSS类定义在Styles.css中,它们使产品属性的名称粗体显示并且右对齐,它们还给产品属性的值加上一个右填充。 由于FormView没有CheckBoxField,要将Discontinued的值显示为一个CheckBox的话,我们就必须自己添加一个CheckBox控件。将这个CheckBox控件的Enabled属性设置为false以使其只读,并将其Checked属性绑定到Discontinued字段上去。 完成了ItemTemplate之后,产品信息就以一种更加不规则的方式来显示了。来比较一下上一节中的DetailsView的输出(图三)和本节所讨论的FormView的输出(图四)。 图三:生硬的DetailsView输出 图四:柔和的FormView输出 总结 虽然GridView和DetailsView控件可以使用TemplateField来自定义它们的输出,不过它们都呈现为一种格子一样的四四方方的样子。在那些需要使用一种不规则的外观来显示一个单独的记录的时候,FormView就是一个理想的选择。跟DetailsView一样,FormView从它的DataSource中显示一个单独的记录。不过它也有跟DetailsView不同的地方,它仅由模板组成,而且它根本不支持字段(fields。译者注:比如说CheckBoxField)。 就像我们在本节中看到的那样,在显示一个单独的记录的时候,FormView提供了一种更加复杂的的呈现方式。在今后的教程中我们将解释一下DataList和Repeater控件,它们可以提供跟FormView一样复杂的呈现,不过它们可以显示多列(就像GridView那样)。 编程愉快! 关于作者 Scott Mitchell,著有六本ASP/ASP.NET方面的书,是4GuysFromRolla.com的创始人,自1998年以来一直应用微软Web技术。Scott是个独立的技术咨询顾问,培训师,作家,最近完成了将由Sams出版社出版的新作,24小时内精通ASP.NET 2.0。他的联系电邮为mitchell@4guysfromrolla.com,也可以通过他的博客http://ScottOnWriting.NET与他联系。 asp.net view c# grid header insert html label text 写下你的评论吧 ! 吐个槽吧,看都看了 会员登录 | 用户注册 推荐阅读 get 十六.增加一个项目协作留言板功能(二)----- 建立一个任务管理的列表页面 我们设计一个页面来展示正在处理的任务,该表格可以参照之前基础信息的增删改查。用户通过这个页面对任务进行相应操作。1.在views. ... [详细] 蜡笔小新 2023-10-16 11:43:26 js 如何限制php数据库链接数和连接超时时间? 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细] 蜡笔小新 2023-12-14 14:06:10 command 利用Visual Basic开发SAP接口程序初探的方法与原理 本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细] 蜡笔小新 2023-12-13 10:56:31 io 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板 本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细] 蜡笔小新 2023-12-12 17:52:50 format [echarts] 同指标对比柱状图相关的知识介绍及应用示例 本文由编程笔记小编为大家整理,主要介绍了echarts同指标对比柱状图相关的知识,包括对比课程通过率最高的8个课程和最低的8个课程以及全校的平均通过率。文章提供了一个应用示例,展示了如何使用echarts制作同指标对比柱状图,并对代码进行了详细解释和说明。该示例可以帮助读者更好地理解和应用echarts。 ... [详细] 蜡笔小新 2023-12-09 10:02:11 php 包含vb.net同时运行的词条 vb.net不用多线程如何同时运行两个过程?不用多线程?即使用多线程,也不会是“同时”执行,题主只要略懂一些计算机编译原理就能明白了。不用多线程更不可能让两个过程同步执行了。不过可 ... [详细] 蜡笔小新 2023-10-17 18:18:35 bit 前端库Bootstrap框架:「11]使用 span 创建行内元素 前端库Bootstrap框架:「11]使用 span 创建行内元素 ... [详细] 蜡笔小新 2023-10-15 11:37:25 range logistic回归(线性和非线性)的开发笔记 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细] 蜡笔小新 2023-12-14 21:40:43 io 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar) 转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎 ... [详细] 蜡笔小新 2023-12-13 16:11:00 数组 Java中vector的使用详解 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细] 蜡笔小新 2023-12-13 14:14:39 php 如何在Windows环境下配置php+apache环境 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细] 蜡笔小新 2023-12-13 10:39:24 instance Python爬虫技术基础篇面向对象高级编程(中)的多重继承 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细] 蜡笔小新 2023-12-12 16:19:02 数组 【Vue】表单 input 绑定 网址:https:vue.docschina.orgv2guideforms.html表单input绑定基础用法可以通过使用v-model指令,在 ... [详细] 蜡笔小新 2023-12-11 18:07:28 php undefined err_url in mult_submits UsingPMA-2.5.2-rc2onPHP-4.1.2andnothavingDROPTABLEprivilege,whenI-sel ... [详细] 蜡笔小新 2023-10-16 14:20:57 default vue 如何监听事件动态传至给子组件 点击后defaultEducation的值明明改变了,但props传给子组件却watch不到 ... [详细] 蜡笔小新 2023-10-15 17:58:49 阿魏空荡荡 这个家伙很懒,什么也没留下! Tags | 热门标签 cPlusPlus eval email subset less ascii lua flutter export io default python2 byte javascript tree callback search match heatmap 数组 command golang format bit php replace range instance js cSharp RankList | 热门文章 1大幅|大盘_OPLG:新一代云原生可观测最佳实践 2你什么时候才会重视你的学历呢? 3如何为什么不定高度的元素添加CSS3 transition【HTML】 4手把手教你完成一个简朴的编译器 5Docker内存使用 6cad2019安装时出现error1308,cad2016安装出现error1308 7下游|事情_架构文摘:消息队列设计精要 8git 分支管理笔记 9线程池正确用法 10支付宝wap端支付php对接_PHP接入支付宝手机网站支付、移动支付接口 11Java数据结构与算法_03 栈 (小型计算器、逆波兰表达式) 12joptsimple.OptionDescriptor.requiresArgument()方法的使用及代码示例 13Day1 快捷指令 14linux lowmem使用情况,linux参数之/proc/sys/vm详解 15php使用curl上传文件报找不到文件的错误 curl是什么意思 php curl curl ini PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具 Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有
在设计器中通过FormView的模板编辑界面或是在源视图中手工输入代码都可以添加上面所说的这些标记代码。使用模板的时候,我发现直接在源视图中编代码会来得比较快,不过你可以使用任何一种让你觉得够爽的方式。
下面的声明标记代码展示了FormView在完成了ItemTemplate的结构之后所应该有的样子:
注意这个数据绑定语法——以<%# Eval("ProductName") %>为例——可以直接插入到模板的输出中。那是因为它没有必要绑定到一个Label控件的Text属性上。举个例子,比如我们要将ProductName的值使用<%# Eval("ProductName") %>来显示在一个元素中,那么产品“Chai”将被输出为Chai。
CSS类ProductPropertyLabel和ProductPropertyValue用于指定中的产品属性的名称和值的样式。这些CSS类定义在Styles.css中,它们使产品属性的名称粗体显示并且右对齐,它们还给产品属性的值加上一个右填充。 由于FormView没有CheckBoxField,要将Discontinued的值显示为一个CheckBox的话,我们就必须自己添加一个CheckBox控件。将这个CheckBox控件的Enabled属性设置为false以使其只读,并将其Checked属性绑定到Discontinued字段上去。 完成了ItemTemplate之后,产品信息就以一种更加不规则的方式来显示了。来比较一下上一节中的DetailsView的输出(图三)和本节所讨论的FormView的输出(图四)。 图三:生硬的DetailsView输出 图四:柔和的FormView输出 总结 虽然GridView和DetailsView控件可以使用TemplateField来自定义它们的输出,不过它们都呈现为一种格子一样的四四方方的样子。在那些需要使用一种不规则的外观来显示一个单独的记录的时候,FormView就是一个理想的选择。跟DetailsView一样,FormView从它的DataSource中显示一个单独的记录。不过它也有跟DetailsView不同的地方,它仅由模板组成,而且它根本不支持字段(fields。译者注:比如说CheckBoxField)。 就像我们在本节中看到的那样,在显示一个单独的记录的时候,FormView提供了一种更加复杂的的呈现方式。在今后的教程中我们将解释一下DataList和Repeater控件,它们可以提供跟FormView一样复杂的呈现,不过它们可以显示多列(就像GridView那样)。 编程愉快! 关于作者 Scott Mitchell,著有六本ASP/ASP.NET方面的书,是4GuysFromRolla.com的创始人,自1998年以来一直应用微软Web技术。Scott是个独立的技术咨询顾问,培训师,作家,最近完成了将由Sams出版社出版的新作,24小时内精通ASP.NET 2.0。他的联系电邮为mitchell@4guysfromrolla.com,也可以通过他的博客http://ScottOnWriting.NET与他联系。 asp.net view c# grid header insert html label text 写下你的评论吧 ! 吐个槽吧,看都看了 会员登录 | 用户注册 推荐阅读 get 十六.增加一个项目协作留言板功能(二)----- 建立一个任务管理的列表页面 我们设计一个页面来展示正在处理的任务,该表格可以参照之前基础信息的增删改查。用户通过这个页面对任务进行相应操作。1.在views. ... [详细] 蜡笔小新 2023-10-16 11:43:26 js 如何限制php数据库链接数和连接超时时间? 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细] 蜡笔小新 2023-12-14 14:06:10 command 利用Visual Basic开发SAP接口程序初探的方法与原理 本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细] 蜡笔小新 2023-12-13 10:56:31 io 在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板 本文介绍了在Xamarin XAML语言中如何在页面级别构建ControlTemplate控件模板的方法和步骤,包括将ResourceDictionary添加到页面中以及在ResourceDictionary中实现模板的构建。通过本文的阅读,读者可以了解到在Xamarin XAML语言中构建控件模板的具体操作步骤和语法形式。 ... [详细] 蜡笔小新 2023-12-12 17:52:50 format [echarts] 同指标对比柱状图相关的知识介绍及应用示例 本文由编程笔记小编为大家整理,主要介绍了echarts同指标对比柱状图相关的知识,包括对比课程通过率最高的8个课程和最低的8个课程以及全校的平均通过率。文章提供了一个应用示例,展示了如何使用echarts制作同指标对比柱状图,并对代码进行了详细解释和说明。该示例可以帮助读者更好地理解和应用echarts。 ... [详细] 蜡笔小新 2023-12-09 10:02:11 php 包含vb.net同时运行的词条 vb.net不用多线程如何同时运行两个过程?不用多线程?即使用多线程,也不会是“同时”执行,题主只要略懂一些计算机编译原理就能明白了。不用多线程更不可能让两个过程同步执行了。不过可 ... [详细] 蜡笔小新 2023-10-17 18:18:35 bit 前端库Bootstrap框架:「11]使用 span 创建行内元素 前端库Bootstrap框架:「11]使用 span 创建行内元素 ... [详细] 蜡笔小新 2023-10-15 11:37:25 range logistic回归(线性和非线性)的开发笔记 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细] 蜡笔小新 2023-12-14 21:40:43 io 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar) 转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎 ... [详细] 蜡笔小新 2023-12-13 16:11:00 数组 Java中vector的使用详解 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细] 蜡笔小新 2023-12-13 14:14:39 php 如何在Windows环境下配置php+apache环境 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细] 蜡笔小新 2023-12-13 10:39:24 instance Python爬虫技术基础篇面向对象高级编程(中)的多重继承 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细] 蜡笔小新 2023-12-12 16:19:02 数组 【Vue】表单 input 绑定 网址:https:vue.docschina.orgv2guideforms.html表单input绑定基础用法可以通过使用v-model指令,在 ... [详细] 蜡笔小新 2023-12-11 18:07:28 php undefined err_url in mult_submits UsingPMA-2.5.2-rc2onPHP-4.1.2andnothavingDROPTABLEprivilege,whenI-sel ... [详细] 蜡笔小新 2023-10-16 14:20:57 default vue 如何监听事件动态传至给子组件 点击后defaultEducation的值明明改变了,但props传给子组件却watch不到 ... [详细] 蜡笔小新 2023-10-15 17:58:49 阿魏空荡荡 这个家伙很懒,什么也没留下! Tags | 热门标签 cPlusPlus eval email subset less ascii lua flutter export io default python2 byte javascript tree callback search match heatmap 数组 command golang format bit php replace range instance js cSharp RankList | 热门文章 1大幅|大盘_OPLG:新一代云原生可观测最佳实践 2你什么时候才会重视你的学历呢? 3如何为什么不定高度的元素添加CSS3 transition【HTML】 4手把手教你完成一个简朴的编译器 5Docker内存使用 6cad2019安装时出现error1308,cad2016安装出现error1308 7下游|事情_架构文摘:消息队列设计精要 8git 分支管理笔记 9线程池正确用法 10支付宝wap端支付php对接_PHP接入支付宝手机网站支付、移动支付接口 11Java数据结构与算法_03 栈 (小型计算器、逆波兰表达式) 12joptsimple.OptionDescriptor.requiresArgument()方法的使用及代码示例 13Day1 快捷指令 14linux lowmem使用情况,linux参数之/proc/sys/vm详解 15php使用curl上传文件报找不到文件的错误 curl是什么意思 php curl curl ini PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具 Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有
由于FormView没有CheckBoxField,要将Discontinued的值显示为一个CheckBox的话,我们就必须自己添加一个CheckBox控件。将这个CheckBox控件的Enabled属性设置为false以使其只读,并将其Checked属性绑定到Discontinued字段上去。
完成了ItemTemplate之后,产品信息就以一种更加不规则的方式来显示了。来比较一下上一节中的DetailsView的输出(图三)和本节所讨论的FormView的输出(图四)。
图三:生硬的DetailsView输出
图四:柔和的FormView输出
总结
虽然GridView和DetailsView控件可以使用TemplateField来自定义它们的输出,不过它们都呈现为一种格子一样的四四方方的样子。在那些需要使用一种不规则的外观来显示一个单独的记录的时候,FormView就是一个理想的选择。跟DetailsView一样,FormView从它的DataSource中显示一个单独的记录。不过它也有跟DetailsView不同的地方,它仅由模板组成,而且它根本不支持字段(fields。译者注:比如说CheckBoxField)。
就像我们在本节中看到的那样,在显示一个单独的记录的时候,FormView提供了一种更加复杂的的呈现方式。在今后的教程中我们将解释一下DataList和Repeater控件,它们可以提供跟FormView一样复杂的呈现,不过它们可以显示多列(就像GridView那样)。
编程愉快!
关于作者
Scott Mitchell,著有六本ASP/ASP.NET方面的书,是4GuysFromRolla.com的创始人,自1998年以来一直应用微软Web技术。Scott是个独立的技术咨询顾问,培训师,作家,最近完成了将由Sams出版社出版的新作,24小时内精通ASP.NET 2.0。他的联系电邮为mitchell@4guysfromrolla.com,也可以通过他的博客http://ScottOnWriting.NET与他联系。