仓酷云

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

[学习教程] ASP.NET编程:ASP.NET的Web controls

[复制链接]
再见西城 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:33:44 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我认为,可以通过更加简单的首次编译,而增加第二次编译的负担,来提高java的运行效率。只是将java源代码进行简单的等价转换,而不假设编译成某种虚拟机器的目标格式,而由本地编译器针对性的二次编译。asp.net|web  Webcontrols使创立forms和HTMLcontrols.的事情将会变得复杂易行。比方在ASP中典范的选择框/selectbox里,你不能不创立一个轮回以便让把持体系装进数据。但在ASP.NET里,你将会具有一个"data-bound",这意味着它会与数据源毗连,并会主动装进数据。

  这些功效听起来几乎是妙趣横生,可是让我们细细的来查验一下。经由过程传统的ASP和ADO,你可以选择在那里安排数据库游标(服务器一边或是用户一边),至于别的的,是依托你想要创立的功能和功效范例来做决意。可是在ASP+里,你不再有选择。由于在webcontrols和服务器之间的链接,迫使你不能不将一切的事物都安排在客户方。关于客户和服务器来讲,不啻于一本性能中央,由于它必需将一切的数据存储在当地内存里。

  Webcontrols也在严厉的XML术语中引进了新的语法。因而,你会不再有对照松懈的代码编纂历程,你必需封闭一切的标志符,利用界说等等。固然,年夜多半人关于顺应这个功效会感应十分疾苦,可是严厉的的代码编纂历程一般意味着更少的毛病。

  另外一方面关于webforms缺点在于,要想利用webform的年夜部分功效,你必需利用forms的POST办法;比方,state办理。当你利用GET办法时,一切的allbest会被封闭失落,你就不克不及利用响应的功效。这个限定其实太没需要了。

  ASP.netServerControls

  很多体系已往的构成部分如今成为ASP.NETServerControls。比方:adrotator已晋级,并入手下手用XML来存储它的信息,但不单单于此。这儿有一整套把持体系,它能够做任何事变,从代为办理你的表单形态到显现日历、桌面。现实上,几近每HTML元素都有ASP.NETServerControls,经由过程ASP.NETServerControl,能够与HTML元素程式化的互相影响。比方,你不再必要为了保持一个在LISTBOX里选定的OPTION而年夜走弯路。你只需唆使LISTBOX在服务器里运作并代你举行办理就能够了。更加便利的是,你只需设定好程序,LISTBOX就会按指令顺次显现选定的项目。
大概在这个新的controls中最风趣的莫过于DataGrid。Datagrid是一个多列的数据绑定网格,经由过程它你能够十拿九稳的将数据置于个中。它同时供应分页、排序等一切你所希冀的功效。我们看一个Datagrid的例子.

  注:我们将在别的的文章里先容Datagrid的属性和办法。

$#@60;%@Pagelanguage="C#"src="DataGrid.cs"inherits="SampleataGridPage"%$#@62;
...

$#@60;ASP:DataGridrunat=serverid="titlesGrid"$#@62;
$#@60;/asp:DataGrid$#@62;

  下面的.aspx文件显现在不设置DataGrid控件任何属性的情形下对其举行声明。

DataGrid.cs:

namespaceSamples{
...

publicclassDataGridPage:Page{
protectedDataGridtitlesGrid;

publicICollectionGetTitlesList(){

//从在使用程序形态中高速缓存的DataSet中检索题目列表。
DataSettitlesDataSet=(DataSet)Application["TitlesDataSet"];

if(titlesDataSet!=null){
returntitlesDataSet.Tables["Title"].DefaultView;
}
else{
returnnull;
}
}

privatevoidLoadTitlesGrid(){

//从数据库中检索数据
ICollectiontitlesList=GetTitlesList();

//设置控件的数据源
titlesGrid.DataSource=titlesList;

//并使它用此数据源构建其项目
titlesGrid.DataBind();
}

protectedoverridevoidOnLoad(EventArgse){
base.OnLoad(e);

if(!IsPostBack){

//初次哀求此页
LoadTitlesGrid();
}
}
}
}

  纪录丧失,关于程序员来讲是一个十分严峻的事变。在新的体系中,中央工具是Dataset。它与recordset相相似,是数据内涵存储影象的正本。Dataset关于您的开辟来讲是中央地点,可是如今,我只能说它只是邻近与XML,使程式在复杂化和一致化的过程当中,绝对复杂。你仍是能够用你已往用过的来处置统统…(除服务器端游标)…
可怜的程序员,还是逃不出移植的命运!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-9 15:59

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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