仓酷云

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

[学习教程] ASP.NET网站制作之ASP.NET进修篇(3)――几个复杂的ASP.EN...

[复制链接]
灵魂腐蚀 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:30:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
什么叫数据库怎么样?什么意思?你想单学数据库。(其实变成是我问的)一个WEBFORM——这里将先容ASP.NETWEBFORM的基础观点,和个中表单项的变更。
*一个数据库的使用——怎样使用CONFIG.WEB中设置的DNS毗连数据库,数据库操纵工具的一些基础用法。
*EMAIL发送——在引进一个体系类库后(用IMPORT标识符),使用msgMail工具,能够很便利的操纵邮件发送历程。
*上传——<INPUTTYPE=FILE……如许一个INPUT项在ASP.NET中有POSTEDFILE属性,分离SAVEAS事务,就能够完成上传了。
1、WEBFORM的利用
以下为援用的内容:
<scriptlanguage="C#"runat=server>
   voidSubmitBtn_Click(Objectsender,EventArgse){
     Message.Text="Hi"+Name.Text+",youselected:"+Category.SelectedItem;
   }
</script>

以上是用C#写的一个事务处置函数,voidSubmitBtn_Click(Objectsender,EventArgse),void代表该函数没有前往值,sender是事务中触发的工具,在这里就是button工具,e是触发事务的参数。该函数中的Message、Name、Category并没有界说,它们来自上面的代码:
以下为援用的内容:
   <formaction="intro6.aspx"method="post"runat="server">
     <h3>Name:<asp:textboxid="Name"runat="server"/>
     Category: <asp:dropdownlistid="Category"runat=server>
            <asp:listitem>psychology</asp:listitem>
            <asp:listitem>business</asp:listitem>
            <asp:listitem>popular_comp</asp:listitem>
           </asp:dropdownlist>
     <asp:buttontype=submittext="Lookup"OnClick="SubmitBtn_Click"runat="server"/>
     <p>
     <asp:labelid="Message"runat="server"/>
</form>
起首能够注重到表单的写法和html表单完整分歧.一切的表单项包含表单自己前面都加上了runat=server,这一属性申明这是服务器端把持项,本来的文本输出,下拉菜单等的写法也变了。在这里接纳的是:
<asp:<控件种别>id=[ID]属性=runat="server"/>
控件的品种有良多(一切控件的列表能够附录中找到),各个控件的属性固然纷歧样,这会在从此具体先容,下面的代码中,我们能够瞥见的有textbox、button的id、text属性,和dropdownlist的SelectedItem属性(注重:这个属性只针对C#,在VB中,要用SelectedItem.Text属性来作为响应的取代)。
这里呈现了一个服务器端把持<asp:labelid=”Message”runat=”server”/>,这个asp:label是传统表单所没有的,它是一个服务器端文本把持,那末就存在一个成绩,假如传统的HTML里没有这个元素,那末ASP+是怎样吸收的呢?你运转一下这个程序,然后看一下HTML源码,你会发明这么一行:
<INPUTtype="hidden"name="__VIEWSTATE"value="a0z-1715863018__x">
对,ASP+就是经由过程这个埋没表单的情势传送已往的。别的,在提交后你能够发明在文本框中填写的内容,和下拉菜单的选择都被保存上去了,这在ASP中必要代码来完成。
必要提出的一点,在ASP.NET中,还能够有另外一种体例增加服务器端控件:
以下为援用的内容:
<scriptlanguage="C#"runat=server>
voidAddText(){
TextBoxtext1=newTextBox();
text1.Text="TEST";
……
}
</script>
这一段代码增加了一个TextBox控件。更多内容,可参看:甚么是ASP.NET的WEBFORM
2、一个数据库毗连的例子
利用DNS毗连,代码,申明
CONFIG.WEB中的设置:
以下为援用的内容:
<appsettings>
<addkey="MyConn"value="server=localhost;uid=sa;pwd=mypassword;
Database=somedatabase"/>
 </appsettings> 
**********************************************************
<%@ImportNamespace="System.Data"%>
<%@ImportNamespace="System.Data.SQL"%>
<scriptlanguage="VB"runat="server">
SubPage_Load(SrcAsObject,EAsEventArgs)
DimMyConnectionAsSQLConnection
‘SQLSERVER的毗连工具
DimConfigasHashTable
’界说一个当地变量
Config=Context.GetConfig("appsettings")
’用当地变量来保留DSN毗连字符串变量
MyConnection=NewSQLConnection(Config("MyConn"))
‘创建毗连
DimMyCommandAsSQLCommand
’声名一个Command工具交往database中拔出数据
dimparm1asstring="SomeTextValue"
dimparm1asstring="SomeTextValue2"
DimInsertCmdAsString="Insertintotablenamevalues(@parm1,@parm2)"
Usingtheconnectionstring
利用毗连字符串
MyCommand=NewSQLCommand(InsertCmd,MyConnection)
MyCommand.Parameters.Add(NewSQLParameter("@Parm1",SQLDataType.VarChar,50))
MyCommand.Parameters("@Parm1").Value=Parm1
MyCommand.Parameters.Add(NewSQLParameter("@Parm2",SQLDataType.VarChar,50))
MyCommand.Parameters("@Parm2").Value=Parm2
MyCommand.ActiveConnection.Open()
MyCommand.Execute()
MyCommand.ActiveConnection.Close()
EndSub
</script>

在以上的代码中,在使用CONFIG.WEB中设置的DNS创建毗连后,又用一个COMMAND的工具完成了拔出数据的操纵.和夙昔的ADO没甚么分歧,只是工具名字有些改动。
3、一个发送邮件的例子
上面给出一段代码,十分简单的完成了发送一封HTML格局,带有附件的EMAIL。而不象ASP中必要本人编写组件来完成。
以下为援用的内容:
<%@PageLanguage="C#"%>
<%@ImportNamespace="System.Web.Util"%>
<%
MailMessagemsgMail=newMailMessage();
msgMail.To="mail@mail.com";
msgMail.Cc="mail1@mail.com";
msgMail.From="webmaster@mail.com";
msgMail.Subject="Attachment";
msgMail.BodyFormat=MailFormat.Html;
stringstrBody="<b>hereisanattachment</b>";
msgMail.Body=strBody;
msgMail.Attachments.Add(newMailAttachment("c:        emp        est.txt"));
SmtpMail.Send(msgMail);
Response.Write("Email已发送乐成");
%>
下面的代码中,起首是引进System.Web.Util类库,如许才干挪用MailMessage工具,有关它的属性的利用,下面的代码中已很分明了,要注重的中央有BodyFormat属性在为MailFormat.Html时,邮件注释是HTML格局,假如改成MailFormat.Text,则是文本格局,另有,请反省你的SMTP服务的设置,邮件发送必要它的撑持。
4、一个上传的例子
ASP中上传文件必要本人写组件,代码,申明
以下为援用的内容:
<html>
 <scriptlanguage="VB"runat=server>
   SubUploadBtn_Click(SenderasObject,EasEventArgs)
    UploadFile.PostedFile.SaveAs(Server.MapPath("test.jpg"))
    MyImage.ImageUrl="test.jpg"
    MyImage.Visible=true
   EndSub
 </script>
 <body>
   <formenctype="multipart/form-data"runat=server>
     <h3>
 SelectFileToUpload:<inputid="UploadFile"type=filerunat=server>
 <asp:buttonText="UploadMe!"OnClick="UploadBtn_Click"runat=server/>
     <hr>
     <asp:imageid="MyImage"Visible=falserunat=server/>
   </form>
 </body>
</html>

间接挪用UploadFile工具(它地点的类库是ASP.NET默许的,以是不必分外的Import一个Namespace。)很简单的完成了上传,不必象在ASP中那样,要本人编写上传组件了。

java的设计机制:首先产生一个中间码,第二部编译为本地(机器)码。这个机制有很大的缺点。
莫相离 该用户已被删除
沙发
发表于 2015-1-17 12:01:03 | 只看该作者
目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案.
小女巫 该用户已被删除
板凳
发表于 2015-1-20 18:30:11 | 只看该作者
PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。
金色的骷髅 该用户已被删除
地板
发表于 2015-1-29 14:25:29 | 只看该作者
主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。
分手快乐 该用户已被删除
5#
发表于 2015-2-6 01:55:29 | 只看该作者
比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变。
灵魂腐蚀 该用户已被删除
6#
 楼主| 发表于 2015-3-4 10:43:45 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。
爱飞 该用户已被删除
7#
发表于 2015-3-11 18:23:57 | 只看该作者
虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。
小魔女 该用户已被删除
8#
发表于 2015-3-11 18:24:01 | 只看该作者
是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。
不帅 该用户已被删除
9#
发表于 2015-3-19 07:19:02 | 只看该作者
碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。
10#
发表于 2015-3-27 12:12:07 | 只看该作者
现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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