飘灵儿 发表于 2015-2-3 23:34:36

ASP教程之创立完整可编纂的 DataGrid

由于ASP提供的是一对多的服务,所以用户的一些特殊需求很难得到满足。datagrid|创立   在服装论坛中我看到过很多不异或类似的成绩:我如何在我的DataGrid的每行中放置反省框、文本框等等?如何更新它们的值?谜底相当复杂,在这篇文章中,我将向你展现若何完成它。

咱们都晓得,DataGrid是一个功效十分壮大的东西。依据我的经历,在90%以上的工夫中, DataGrid 都被用来显示数据,并能够一次编纂一行数据。 而某些时分,能够需求一次编纂多行,乃至是一切数据。一个实践的例子就是在网上发卖物品的使用法式中, 顾客能够一主要变动他们篮子中的一种或多种物品,单击反省框移去他们不想要的商品。

构思

在这个例子中,我写了一个复杂的WebForm来办理存储在XML中的接洽人列表。 这个需求长短常复杂的:具有添加新接洽人,编纂/删除现有接洽人的才能。用户可以一次修正或删除多个接洽人,我也答应用户按他们选定的列来对数据网格停止排序。

我的例子是用 C# 编写的。 假如你更喜好这些代码的VB版本,鄙人载文件中有这两种格局的代码。

Contacts.xml

这个例子中的 XML 数据文件十分复杂直不雅。因为它十分复杂,所以我没有创立计划。

<?xml version="1.0" standalone="yes"?>
<Contacts>
<Contact>
<Email>myaddress@mycompany.com</Email>
<FirstName>John</FirstName>
<LastName>Doe</LastName>
</Contact>
<Contact>
<Email>youraddress@yourcompany.com</Email>
<FirstName>Jane</FirstName>
<LastName>Doe</LastName>
</Contact>
</Contacts>

ContactList.aspx

设置 WebForm 十分复杂。我放置了一个新的 DataGrid 到我的窗体中,而且设置它为4列,第一列都包括了用来删除接洽人的反省框。你会注重到我在这里做的次要任务就是以模板列( TemplateColumn)的模式创立了每列。 这答应我放置文本框和反省框对象到数据模板(ItemTemplate)中 . 这是一个在网格每行中显示文本之外的其它器材的技能。 除此之外,你还会注重到我利用 FooterTemplate 来使新建接洽人变得复杂而直不雅。

我也包括了一个链接按钮(LinkButton),用来保留用户所做的修正及删除操作。但它其实不用来添加新接洽人。添加新接洽人的操作由最初一列的页脚模板中链接按钮(LinkButton)来完成。

<asp:datagrid id="dgContacts" runat="server" ShowFooter="True" AllowSorting="True" Forefont color="Black" GridLines="None" CellPadding="2" Backfont color="LightGoldenrodYellow" BorderWidth="1px" Borderfont color="Tan" Width="499px" AutoGenerateColumns="False" DataKeyField="Email">
<SelectedItemStyle Forefont color="GhostWhite" Backfont color="DarkSlateBlue"></SelectedItemStyle>
<AlternatingItemStyle Backfont color="PaleGoldenrod"></AlternatingItemStyle>
<HeaderStyle Font-Bold="True" Backfont color="Tan"></HeaderStyle>
<FooterStyle Backfont color="Tan"></FooterStyle>
<Columns>
<asp:TemplateColumn SortExpression="FirstName" HeaderText="First Name">
<ItemTemplate>
<asp:TextBox id=First runat="server" Width="109px" Text='<%# DataBinder.Eval(Container, "DataItem.FirstName") %>'>
</asp:TextBox>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox id="NewFirst" runat="server" Width="109px"></asp:TextBox>
</FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn SortExpression="LastName" HeaderText="Last Name">
<ItemTemplate>
<asp:TextBox id=Last runat="server" Width="109px" Text='<%# DataBinder.Eval(Container, "DataItem.LastName") %>'>
</asp:TextBox>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox id="NewLast" runat="server" Width="109px"></asp:TextBox>
</FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn SortExpression="Email" HeaderText="Email">
<ItemTemplate>
<asp:TextBox id=Email runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Email") %>'>
</asp:TextBox>
</ItemTemplate>
<FooterTemplate>
<asp:TextBox id="NewEmail" runat="server"></asp:TextBox>
</FooterTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Delete Contact">
<ItemStyle HorizontalAlign="Center"></ItemStyle>
<ItemTemplate>
<asp:CheckBox Runat="server" ID="chkDelete"></asp:CheckBox>
</ItemTemplate>
<FooterStyle HorizontalAlign="Center"></FooterStyle>
<FooterTemplate>
<asp:LinkButton Runat="server" Text="Add" CommandName="Add" ID="Linkbutton1" NAME="Linkbutton1"></asp:LinkButton>
</FooterTemplate>
</asp:TemplateColumn>
</Columns>
</</p>源代码保护方面其实现在考虑得没那么多了..NET也可以反编译.ASP写得复杂的话别人能看得懂的话.他也有能力自己写了.这方面担心的倒不太多. 纵观现在网上可以下载的那些所谓BBS还有什么网站等等的源代码

小妖女 发表于 2015-2-4 02:44:29

如何学好ASP,以前也有人问过,把回答给你转过来看看能否对你有帮助:

飘灵儿 发表于 2015-2-27 05:51:19

运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。

简单生活 发表于 2015-3-8 22:38:42

ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。  因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。

谁可相欹 发表于 2015-3-11 16:27:04

另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)

山那边是海 发表于 2015-3-17 06:46:40

用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。

莫相离 发表于 2015-3-24 00:11:48

Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点)

第二个灵魂 发表于 2015-3-27 07:09:50

我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。

蒙在股里 发表于 2015-4-1 02:10:30

学习是为了用的,是为了让你的程序产生价值,把握住这个原则会比较轻松点。除此之外,课外时间一定要多参加一些社会实践活动,来锻炼自己的能力。

若相依 发表于 2015-4-4 07:56:27

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

爱飞 发表于 2015-4-11 01:32:04

代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。

乐观 发表于 2015-5-4 03:52:53

学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:

再现理想 发表于 2015-5-6 05:51:07

运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。

小女巫 发表于 2015-5-6 21:09:44

它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。

不帅 发表于 2015-5-8 00:01:15

下面简单介绍一下我学习ASP的方法,希望对想学习ASP的朋友有所帮助...

老尸 发表于 2015-5-11 11:33:54

兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的

admin 发表于 2015-5-11 22:34:07

ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:

兰色精灵 发表于 2015-6-11 13:37:26

ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题:

金色的骷髅 发表于 2015-7-12 08:52:16

从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了

仓酷云 发表于 2015-7-14 17:35:02

在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
页: [1]
查看完整版本: ASP教程之创立完整可编纂的 DataGrid