仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 894|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET编程:ASP.NET 2.0初级数据处置之主从数据表

[复制链接]
跳转到指定楼层
楼主
发表于 2015-1-16 22:47:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
另外,小型软件代码重用价值低,没有必要跨平台;大型软件,有严格的规划、部署,不可以随意跨平台。asp.net|初级|数据  在后面的文章中,我们已晓得怎样将ControlParameter(控件参数)与GridView的SelectedValue属性相干联以完成主-从数据表。SelectedValue属性前往DataKeyNames属性所指定的第一个字段的值。你也能够给DataKeyNames属性指定多个用逗号分开的字段值,比方,你大概必要把多个值传送到从表的数据源。这些分外的键字段值是经由过程SelectedDataKey属性表露的,它前往一个DataKey工具,包括键字段的称号/值对(pair)。经由过程在表达式中设置PropertyName属性(比方SelectedDataKey.Values("title_id")),ControlParameter乃至于能够援用这些键。

<asp:ControlParameterName="FirstKey"ControlID="MasterGrid"PropertyName="SelectedDataKey.Values[0]"/>
<asp:ControlParameterName="SecondKey"ControlID="MasterGrid"PropertyName="SelectedDataKey.Values[1]"/>
  上面的例子演示的代码列举了DataKeys汇合,并从GridView的SelectedDataKey中猎取键字段的值:

ProtectedSubGridView1_SelectedIndexChanged(ByValsenderAsObject,ByValeAsSystem.EventArgs)
Response.Write("<b>SelectedDataKey.Value:</b>"&Server.HtmlEncode(GridView1.SelectedDataKey.Value)&"<br/>")
Response.Write("<b>DataKeyField1:</b>"&Server.HtmlEncode(GridView1.SelectedDataKey.Values("au_id"))&"<br/>")
Response.Write("<b>DataKeyField2:</b>"&Server.HtmlEncode(GridView1.SelectedDataKey.Values("title_id"))&"<br/>")
EndSub
ProtectedSubGridView1_DataBound(ByValsenderAsObject,ByValeAsSystem.EventArgs)
DimkeyAsDataKey
Response.Write("<b>GridViewDataKeys:</b><br/>")
ForEachkeyInGridView1.DataKeys
Response.Write(Server.HtmlEncode(key.Values(0))&",")
Response.Write(Server.HtmlEncode(key.Values(1))&"<br/>")
Next
EndSub
  后面的主-从暗示例把从表的数据显现在窗体的一个自力的控件中,可是偶然候我们但愿从表控件是嵌套在主表控件上,作为主表的一部分来显现的。为了完成这类功效,你必需把从表控件和相干的数据源都包括到主表控件的模板中,并带有一个数据源参数,让该参数从主表数据源的字段中猎取值。因为利用这类体例的时分,没有可供联系关系的宣布式参数工具,你必需经由过程在代码中编程来设置参数值。当主表控件的数据项举行绑定的时分,你能够在主表控件的某个事务处置(比方FormView的DataBound事务)中设置参数值。上面的例子演示了这类手艺。

<scriptrunat="server">
ProtectedSubFormView1_DataBound(ByValsenderAsObject,ByValeAsSystem.EventArgs)
OrderDetailsDataSource.SelectParameters("OrderID").DefaultValue=FormView1.DataItem("OrderID")
EndSub
</script>

<asp:FormViewDataSourceID="OrdersDataSource"……>
<ItemTemplate>
<b>OrderID:</b>
<asp:LabelID="OrderIDLabel"runat="server"Text=<%#Eval("OrderID")%>></asp:Label><br/>
……
<asp:GridViewDataSourceID="OrderDetailsDataSource"……>
……
</asp:GridView>
</ItemTemplate>
</asp:FormView>

<asp:SqlDataSourceConnectionString="<%$ConnectionStrings:Northwind%>"ID="OrdersDataSource"runat="server"SelectCommand="SELECT[OrderID],[OrderDate],[ShipCity],[ShipCountry]FROM[Orders]">
</asp:SqlDataSource>
<asp:SqlDataSourceConnectionString="<%$ConnectionStrings:Northwind%>"ID="OrderDetailsDataSource"runat="server"SelectCommand="SELECT[OrderDetails].OrderID,Products.ProductName,[OrderDetails].UnitPrice,[OrderDetails].QuantityFROM[OrderDetails]INNERJOINProductsON[OrderDetails].ProductID=Products.ProductIDWHERE[OrderDetails].OrderID=@OrderID">
<SelectParameters>
<asp:ParameterName="OrderID"/>
</SelectParameters>
</asp:SqlDataSource>
  上面的例子演示了相似的手艺,它利用的是DataList,处置DataList的ItemDataBound事务来设置数据源参数值。

<scriptrunat="server">
ProtectedSubDataList1_ItemDataBound(ByValsenderAsObject,ByValeAsSystem.Web.UI.WebControls.DataListItemEventArgs)
DimsAsSqlDataSource=e.Item.FindControl("OrderDetailsDataSource")
s.SelectParameters("OrderID").DefaultValue=e.Item.DataItem("OrderID")
EndSub
</script>中间码是基于一个虚拟机器。源代码是最高层的,理论上从源代码开始直接编译成本地码能提供最大优化的。而中间码只能是转译成本地码,效率上难免受到损耗。根据虚拟机器所设定的体系结构的特点,和本地机器的差异的多少。
变相怪杰 该用户已被删除
沙发
发表于 2015-1-19 23:45:50 | 只看该作者
碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。
小妖女 该用户已被删除
板凳
发表于 2015-1-28 15:32:26 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。
精灵巫婆 该用户已被删除
地板
发表于 2015-2-5 20:54:24 | 只看该作者
关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。
金色的骷髅 该用户已被删除
5#
发表于 2015-2-13 13:02:23 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。
飘灵儿 该用户已被删除
6#
发表于 2015-3-3 21:28:15 | 只看该作者
Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。
兰色精灵 该用户已被删除
7#
发表于 2015-3-11 13:48:33 | 只看该作者
ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
乐观 该用户已被删除
8#
发表于 2015-3-18 15:13:28 | 只看该作者
在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.now.net.cn),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的
活着的死人 该用户已被删除
9#
发表于 2015-3-26 01:52:22 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:12

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表