ASP.NET网页设计亲热打仗ASP.Net
也不知道,我同学昨天说数据挖掘很好。asp.netASP+出来都快半年了,我们站点也做了很多的先容,可是明天飞刀我才终究有了心机来写一下关于这个ASP+的文章了。呵呵,让人人久等了。起首我得声名,本教程合用于有必定收集编程履历的人,好比asp,PHP,CGI,JSP开辟者,假如你对收集编程一点也不懂得,那末您仍是先往学学别的的言语,否则以下的文章您会有良多看不懂的中央。呵呵。
我们入手下手吧。
ASP+的运转情况
我们要进修ASP+,就先得弄一个调试情况出来。让你的"爱鸡"撑持asp+,那末您必要以下的前提:
Windows2000Professional,Windows2000Server,Windows2000AdvancedServer
NGWS
IE5.5
以上是撑持ASP+的必要,人人看到今朝只要Windows2000才有安装NGWS的大概,NT,Windows98,WindowsMe临时还没有举措撑持asp+,不会老盖允许我们在今后的版本中会在别的的平台上撑持asp+的,人人渐渐等吧。并且还不是一切的window2000都能够,windows2000的版本号如果RC3618以上的才行(这是自己写这篇文章时的情形,如今连win98都能够了)。飞刀我之前就是windows2000的版本太低,不能不保持正版,买了D版(满是ASP+惹的祸)。
NGWS是个年夜块头,有111M之巨,飞刀兄弟我的小猫跑了5个小时才把它弄定,它的下载地点是http://download.microsoft.com/download/VisualStudioNET/Install/2204/NT5/EN-US/setup.exe幸得M$有钱,下载站点的带宽还年夜,下载速率还能够咯。人人渐渐来吧。
IE5.5是下面最好弄定的东东了。这个器材如今已是众多了:),D版的很多,呵呵,不克不及称D版,它自己就是收费的:)
ASP+与ASP的对照
提及ASP+的优点,那就良多了。我们这里举几个最分明的。
速率,ASP+是编译后实行的,也就是说当aspx文件第一次被哀求时被编译,今后的哀求就不必要从头编译了。而ASP是注释性剧本言语,每次都必要从头编译,这类缘故原由,其速率就没法和ASP+来比了。不外ASP+的编译速率也够慢的,在当地机上调试,第一次实行的速率是很慢的。不外今后就很快了,第一次实行的义务就交给办理员往做吧。我们就往享用今后的高速率吧:)
功效,ASP+的功效是非常壮大的,几近能做我们在收集能想到的事变,呵呵,举个复杂的例子,那就是文件的上传,在ASP的时期,这个成绩只能经由过程组件才行,可是在ASP+中只必要以下的代码就能够了。上面是一个例子:
<html>
<head>
<scriptlanguage="C#"runat="server">
voidButton1_Click(objectSource,EventArgse){
if(Text1.Value==""){
Span1.InnerHtml="Error:youmustenterafilename";
return;
}
if(File1.PostedFile!=null){
try{
File1.PostedFile.SaveAs("c: emp"+Text1.Value);
Span1.InnerHtml="Fileuploadedsuccessfullytoc: emp"+Text1.Value+"ontheWebserver";
}
catch(Exceptionexc){
Span1.InnerHtml="Errorsavingfilec: emp"+Text1.Value+"
"+exc.ToString();
}
}
}
</head>
<body>
HtmlInputFileSample
<formenctype="multipart/form-data"runat="server">
SelectFiletoUpload:
Saveasfilename(nopath):<inputid="Text1"type="text"runat="server">
<spanid=Span1style="font:8ptverdana;"runat="server"/>
<inputtype=buttonid="Button1"value="Upload"OnServerClick="Button1_Click"runat="server">
</form>
</body>
</html>
信任人人都能看懂下面的程序,不是太难。看看用ASP+上传文件就是这么复杂,基本就不必要甚么组件了,呵呵,只不幸飞刀我写了半天的"aspcnUP上传组件",一片血汗就被M$给弄完了。我们的组件也要下岗了,唉,可悲啊。(飞刀悲情地唱起"风萧萧兮,易水冷,勇士一往不复返......")
ASP+能做的事远不止云云,这里只是举个小例子,它的更多功效我们今后再往先容,呵呵。
ASP+另有一年夜长处就是布局化编程,他的程序言语能够自已恣意加,今朝撑持C#,VB,JavaScript,呵呵,人人是否是对不撑持VBScript感应扫兴?!:)这是局势所趋,人人也不用扫兴啦,我今后的文章的例程城市用C#往写,呵呵,假如你钟情于VB,你也能够看看本站一篇关于VB与C#语法对照的文章,很简单上手的。关于C#,人人大概对照生疏,不外我们看看下面的程序,发明他仍是有良多中央是我们简单上手的。我团体以为它是C++与VB与Java的分离体,也多是M$宣战Java的第一步,人人用多了就会以为他优点多:)
写ASP+程序,你会以为是在写VB大概是VC,良多的头脑全都来自于VB,VC,多是M$.net的缘故原由吧。以是我们写程序的头脑必要改动,要让你自已感到这是在写软件,不是在写传统的asp程序。
至于ASP+另有的一些功效,我们站点之前的文章也先容了,呵呵,人人查查,我们今后也会经由过程程序往懂得,只惋惜,我们服务商的服务器不克不及利用asp+,不然我们会更多懂得的asp+的特征。
别的一个人人体贴的成绩就是,装有NGWS的Windows2000是不是还撑持asp,忧虑我们有了aspx,就没有了asp,之前的程序就全玩完了。这个成绩人人基本不必忧虑,NGWS计划时M$就思索过,NGWS一样能够剖析asp,文件的扩大名是.asp,那就利用asp的办法剖析,假如是.aspx就利用asp+来剖析,以是您之前的asp是不会报销的。哈哈,人人能够宁神啦。飞刀的呆板上就是如许的咯。aspx,asp都能够用:)
这第一节就到这儿了,下一节,我们先容一下,asp+的语法:),人人多多恭维。
上一节,我们复杂先容了ASP+的配制情况,我们这一节来谈谈ASP+的语法.实在当你装好NGWS后,他所带的文档是最好的进修ASP+的教程,要你E文充足好,和很好的耐烦,进修ASP+不是难事啦.我们这些家伙也是从这里学了良多的,这篇关于ASP+语法的文章,年夜多半也来自于M$的原文,最惋惜的就是我们的服务器不克不及装上NGWS,有些例子,人人不克不及看到实行了局,不太好。不外有些中央,我会把实行了局显现出来的。我们入手下手这一节吧:)
一个ASP+页面的后缀名是".ASPX".它可以包括八种分歧的语法标置元素.我们将在这篇文章中先容这几种分歧的语法,而且举出一个例子来显现它的用法。
<%%>与<%=%>
用过asp吗,用过,那末人人就不会对这个标签生疏了。呵呵,上面是一个复杂的例子。他实行后的了局我想我不写不出来,人人也都晓得啦。这个就未几谈了,呵呵.
<%for(inti=0;i<8;i++)
{
%>
HelloWorld!
<%}%>
下面的例子中<%%>之间的程序将会被实行,并显现出的了局,<%="HelloWorld"%>就即是<%Response.Write("HelloWorld")%>
注重:在C#中,是以分号(;)做为分开符,可是我们要注重一些事变。
C#code
<%Response.Write("HelloWorld");%>这里的分号是必需的
<%="HelloWorld";%>如许写会有一些小成绩就是,显现的了局是"Response.Write("HelloWorld";);"
准确
声明朝码的语法:<%...number=subtract(number,1);...%>
主要成绩:ASP+不像ASP,在ASP中所能的函数得在地区中声明,可是在ASP+中一切函数和变量都必需在地区中声明。不然,aspx编译时会呈现毛病.
ASP+服务器端控件语法
服务器上的控件利用开辟者可以静态发生HTML页面,并发送给客户(如Netscape和IE所发生的JavaScript是分歧的。另有一般扫瞄器和WAP扫瞄所收到的页面也是分歧的).他们工具的声明也是使用了标签。可是他们和别的的标签是分歧的。由于他们包括有一个"runat=server"属性。(呵呵,这个属性我们在ASP中也用过,不外功效就...)。上面的例子演示了控件的利用办法。
<html>
<scriptlanguage="C#"runat=server>
voidPage_Load(Objectsender,EventArgse){
Message.Text="WelcometoASP+";
}
</script>
<body>
<asp:labelid="Message"font-size=24runat=server/>
</body>
</html>
下面的源代码中我们到场ID为"Message":
<asp:labelid="Message"font-size=24runat="server"/>
看了下面的代码,是否是发明我们在写VB程序,呵呵,先搭好骨架,然后再一个个的往编写他们事务处置。这就是M$给我们的新观点.
ASP+Html服务器控件语法
HTML服务器控件,使开辟者程序化的操纵HTML元素。一个HTML服务器控件只是比一般HTML元素多了一个"runat=server"属性。上面的例子详细演示了HTML服务控件的用法。
<scriptlanguage="C#"runat=server>
voidPage_Load(Objectsender,EventArgse){
Message.InnerHtml="WelcometoASP+";
}
</script>
...
<spanid="Message"style="font-size:24"runat=server/>
他实行的了局和第一个程序的了局是一样的
数据绑缚(Databinding)语法<%#%>
数据绑缚手艺使得ASP+开辟者可以很形像地把控件的属性与数据容器的值接洽起来.在<%#%>这个地区内的代码只要在"DataBind"办法挪用后才会被实行。上面的例子就演示了它的用法。
Hereisavalue:
经由过程这类办法使得名为"MyList"的控件程序化,这时候就该挪用DataBind()办法了。
voidPage_Load(Objectsender,EventArgse)
{ArrayListitems=newArrayList();
items.Add("One");
items.Add("Two");
items.Add("Three");
MyList.DataSource=items;
MyList.DataBind();
}
Object标签语法:<objectrunat="server"/>
Object标签语法使得开辟者可以利用就基础的标签就可以声明和示例一个工具。以下:
<objectid="items"class="System.Collections.ArrayList"runat="server"/>
这个工具会在运转时主动创建,并且名字为items
voidPage_Load(Objectsender,EventArgse){
items.Add("One");
items.Add("Two");
items.Add("Three");
...
}
正文语法:
正文能使开辟者制止代码(包含控件)的实行或援用。上面的例子演示了这个语法的使用.
<%--
<asp:calendarid="MyCal"runat=server/>
<%for(inti=0;i<45;i++){%>
HelloWorld
<%}%>
--%>
SSI语法:<--#IncludeFile="Locaton.inc"-->
写过最基础的HTML的兄弟对他不会生疏,以是也不想多讲啦:)
<!--#IncludeFile="Header.inc"-->
...
<!--#IncludeFile="Footer.inc"-->
上面的一节,我们未来详细看看HTML控件和用户控件
欠好意义,好久没有写文章,次要缘故原由是前段工夫测验,忙得飞刀我昏头转向,如今工夫终究有过剩了,以是不能不又提起笔来了(注:没有笔,回抵家,连电脑也没有,只要在网吧混日子)。可是因为回抵家中,没有电脑,以是我的文章也只能是断续地写出来,人人请包涵。
比来有伴侣问我,那里能够学好ASP+,我早就说过NGWS中带的文档是最好的进修手册,不外因为NGWS的请求太高,另有它的巨细(110M)的成绩,有一部分兄弟,不克不及装上它,我给你们一个站点http://www.aspnextgen.com/quickstart/aspplus/,下面的文档就是NGWS间接带的,并且这个站点满是由asp+构建的,人人能够间接看到aspx的实行情形,我如今对我们的站点独一不满的中央就是不克不及实行aspx,不克不及给人人看到例程的实行了局。
好了不说多话了,我们这一节要来看看怎样利用asp+中的控件吧。
ASP+中的控件分为两种,一种是HTML控件(HtmlControls),一种是Web控件(WebControls),我们这一节先来说讲对照复杂的HTML控件。另外一种控件留到下一节再往讲:)
HTML控件,假如只是看表面,发明和一般的HTML标签没有甚么两样,不外就是
<select><a>
这些东东,独一的区分就是在标签的前面多了个RunAt="server",实在我们对这个RunAt="Server"我们也不生疏,呵呵,在asp的global.asa文件我们常常看到。可是假如在asp+中多了这个,那末程序代码的性子也就变了。如:
<selectid="aspcn">
<option>ASP</option>
<option>JSP</option>
<option>PHP</option>
</select>
下面的select不外是一个一般的HTML标签罢了,可是假如在select后加上RunAt="server",那末统统都变了。
<selectid="aspcn"RunAt="Server">
<option>ASP</option>
<option>JSP</option>
<option>PHP</option>
</select>
那末这个就是一个asp+程序,我们就能够写ASPX程序了。如:
<%@importNameSpace="System.Data"%>
<ScriptLanguage="c#"RunAt="Server">
voidaspcn_onclick(Objectsrc,EventArgse)
{
stringselectValue;
if(Page.IsPostBack)
{
selectValue=aspcn.SelectedItem.Value;
SelectItem.Text=selectValue;
}
}
</script>
<html>
<head><title>Select演示程序</title></head>
<body>
请选择:
<formrunat="server">
<selectid="aspcn"RunAt="Server">
<option>ASP</option>
<option>JSP</option>
<option>PHP</option>
<option>ASP+</option>
<option>COM</option>
</select>
<asp:Bottuntext="提交">
<br>
您的拔取的Select列表是:<fontcolor=red><asp:Labelid="SelectItem"Text="暂无"></font>
</form>
下面是一个很复杂的aspx例子,次要目标是演示selectHTML控件的用法.下面的例子中,起首显现以下:
请选择:ASPJSPPHPASP+COM
您的拔取的Select列表是:暂无
当你点击"提交"键后,你就会后到:(假定我们拔取的是PHP)
请选择:ASPJSPPHPASP+COM
您的拔取的Select列表是:PHP
从下面的例子中我们能够看到,我们次要操纵的是aspcn_onclick子程序,而这个程序是由名为sub的控件引发的。(这里的Button和Label均属于WEB控件,我们下一节再讲),我们在aspcn_onclick中关于名为aspcn的select控件的操纵,我们也很熟习,呵呵,是否是很像客户真个JavaScript?!信任用过javascript的兄弟,必定能看懂程序,呵呵,我们写服务器程序是否是像是在写客户真个程序,M$推出.Net也就是为了到达这个效果,不外这个对初学者来讲是个不太好的事变,由于初学者原本就弄不清甚么是客户端甚么是服务器,如今又把他们写在一同,信任良多人要弄糊啦,以是我一入手下手就倡议初学者仍是先看看一些基本的东东为好。
我们利用aspcn.SelectedItem.Value来猎取aspcn列表的值,然后经由过程SelectItem.Text=selectValue再把这个值传给名为selectItem的控件。就成了我们看到的情况。程序是很复杂的,我们在这里只是让人人有一个开端的懂得。
几近每种HTML标签加上个RunAt="server"就能够成为HTML控件了。详细的有:
HtmlAnchorHtmlButtonHtmlFormHtmlGenericControl
HtmlImageHtmlInputButton(Button)HtmlInputButton(Reset)HtmlInputButton(Submit)
HtmlInputCheckBoxHtmlInputFileHtmlInputHiddenHtmlInputImage
HtmlInputRadioButtonHtmlInputText(Password)HtmlInputText(Text)HtmlSelect
HtmlTableHtmlTableCellHtmlTableRowHtmlTextArea
我一时也没法把他们的用法一个个的申明,请人人到我下面说的谁人站点自已往看,我们今后写程序就要纯熟利用HTML控件和Web控件了。只需E文好,信任没有甚么成绩,呵呵,不要期望飞刀我翻译啊,我头都年夜了,人人饶我一命。
别的我们要提示人人的就是,由于我们写ASP+一样平常都用c#,以是在定名控件时注重巨细写,否则编译时会堕落的。再有就是假如程序编译时请细心看好堕落信息,不要一堕落就即刻想到往问,自已动头脑往想一想,劳绩会更年夜。呵呵,这一章就到这里了,下一节就要讲WEB控件。
(先说一下我的布置了咯,呵呵,讲完WEB控件后,再讲Bind,然后就是数据库,接着就是Application和Session,再厥后的今后再布置)
88,祝人人过个好春节:)
成天的泡在考研的材料内里,空闲时就和伴侣们年夜谈特谈NGWS,一天终究被lazy兄一棍子打醒,"都甚么年月了,还在谈NGWS",匆忙中从速从头下载我心目中的"NGWS",装上后,发明今是昨非,这个NGWS已更名叫Micosoft.net,ASP+也冠冕堂皇的更名为ASP.NET.并且如今不但window2000可以安装调试asp.net了,并且连最烂的"瘟酒吧"也能够了,因而发明自已离时期愈来愈远了.....(台下人:宣布甚么叹息,还不快进正题)(同时,一不明航行物俄然向飞刀砸来,飞刀立即倒在血泊中.....)
Web控件
依照企图我们这一节要谈Web控件,我想了半天也不晓得怎样界说这个web控件,它比html控件难于了解,究竟HTML太像本来我们熟习的东东了。而web控件确与我们寻常见到的有很年夜的收支,不晓得人人还记不记得我说过的一句话,那就是ASP.net的程序就像是写VBVC中的窗口,先再这些窗口中到场我们的必要的控件,然后再对这些控件举行操纵。假如你学过一点点VBVC的编程,那末了解这个就不难了,ASP.net中的web控件就像是VBVC中的控件一样。我们先在页面中摆好这些控件,然后再经由过程Page_Load和别的一些自界说事务来对他们举行把持。我们仍是经由过程看一个实例来懂得一下吧。我们先举复杂的Label控件吧.
源代码以下:
测试Label控件:
这是白色粗体的笔墨
这段程序实行后的了局是
测试Label控件:
这是白色粗体的笔墨
这是蓝色斜体的笔墨
这是黑体字,而且带下划线
看看源代码,再看看程序实行的了局是否是发明Label控件和VB中的Label控件很邻近:)
(注:你在你的呆板上看到的中文多是乱码,那末请您翻开x:winntmicrosoftframeworkv1.0.224目次,找到个中的config.web文件,翻开它,找到上面的笔墨:
requestencoding="iso-8859-1"
responseencoding="iso-8859-1"
/>
把个中的iso-8859-1改成gb2312,OK,再实行一下程序,中文是否是出来了:)
这里我们用了三种办法来操纵Label控件,第一种是相似HTML的闭合标签,将要写的字写在之间;第二种是用到了Label控件Text属性;第三种,是经由过程实行Page_Load事务而把笔墨写进Label控件的。这三种办法都很有效,看你自已的喜好了,第三种是最经常使用的啦,今后我们会常常用到.Label控件不但有Text属性来把持它的笔墨,并且另有font-size等属性来把持字体巨细,色彩等属性,这里的例子我都用到了,人人好悦目看,信任没有甚么成绩
我们见过了Label控件的操纵,那末我们对web控件有了一个理性的熟悉,在ASP.net中,一共有28个WEB控件,它们是:
AdRotatorButtonCalendarCheckBox
CheckBoxListCompareValidatorCustomValidatorDataGrid
DataListDropDownListHyperLinkImage
ImageButtonLabelLinkButtonListBox
PanelRadioButtonRadioButtonListRangeValidator
RegularExpressionValidatorRepeaterRequiredFieldValidatorTable
TableCellTableRowTextBoxValidationSummary
人人能够到我上一节讲的谁人站点往详细看一下他们各自的用法,这里我原本想次要讲一下DataGrid,DataLit,ListBox可是他们个中都必要用到Binding常识(这个我们鄙人一节讲),以是我们次要来看看DropDownList的用法(由于我们上一节是用的select来说解HTML控件的)
先看一个例子:
请选择ASPCN.Com事情室程员:
飞刀
微风
Zsir
布丁
亚豪
它实行显现为:
请选择ASPCN.Com事情室程员:
飞刀微风Zsir布丁亚豪
假如我选中了个中的飞刀,然后再按下"提交"键,那末显现就是:
请选择ASPCN.Com事情室程员:
飞刀微风Zsir布丁亚豪
您选择的是本事情室的飞刀成员
DropDownList控件,实在和select差未几,功效也就多那末一点点,可是这个多一点点的功效就是很有效的,这就是我们下一节要进修的Bind,呵呵,是否是想学了:)不急,我们先剖析一下这里的程序。
我们用DropDownList控件创建起一个List列表,然后我们选择个中的一个选项,最初按提交键提交。这里我们能够看各处理程序的是sub_click这个事务,这里由名为sub的button控件引发,所用的事务是Onclick,这里和HTML控件所利用的OnServerClick事务是分歧的,人人要分分明。别的的仿佛没有甚么能够说了。呵呵
我们下一节要讲bind,这个是很主要的。
你觉得学习.NET怎么样,我懂的少,问的可能很幼稚,见笑了啊:) 可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。 微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。 主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。 业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。
页:
[1]