分手快乐 发表于 2015-1-16 22:31:11

ASP.NET编程:ASP.NET中新的代码编译功能(二)

学习asp.net两个月有余了,除了对html、web控件比较熟悉(应该是说都能理解和接受)之外,竟不知道自己还会什么。看了两本书:《精通asp.net网络编程》(人民邮电出版社)、《asp.net实用案例教程》(清华大学出版社)。asp.net|编译利钱盘算器

起首,我们翻开VisualStudio.NETWhidbey,创立一个名为Compilation的新Web站点。创立Web站点以后,IDE应与相似。



:VisualStudio.NETWhidbeyWeb站点

然后,我们将Code文件夹增加到该Web站点,增加办法为右击该项目,然后选择NewFolder(新建文件夹)。此文件夹必需定名为Code,但称号不辨别巨细写。增加文件夹后,我们能够增加一个新的类文件:右击Code文件夹,单击AddNewItem...(增加新项...),然后在AddNewItem(增加新项)对话框的Templates(模板)窗格当选择Class(类)项。将类定名为CalculateInterest.vb。然后增加用于盘算利钱的代码(将其增加到Class和EndClass语句之间):

PublicFunctionCalcBalance(ByValPrncplAsInteger,_ByValRateAsDouble,_ByValYearsAsInteger,_ByValPeriodAsInteger)AsStringDimBaseNumAsDouble=(1+Rate/Period)CalcBalance=_Format(Prncpl*System.Math.Pow(BaseNum,_(Years*Period)),"#,###,##0.00").ToStringEndFunction

创立组件类后,我们必要修正Default.aspx页面以供应用来输出数据的字段,还必要挪用组件的CalcBalance办法。为了复杂起见,Default.aspx的完全列表显现以下(请注重,Default.aspx利用单文件代码模子)。

Default.aspx:

<%@pagelanguage="VB"%><scriptrunat="server">SubButton1_Click(ByValsenderAsObject,_ByValeAsSystem.EventArgs)DimCalcAsNewCalculateInterestLabel6.Text="$"&_Calc.CalcBalance(Convert.ToInt32(TextBox1.Text),_(Convert.ToInt32(TextBox2.Text)/100),_Convert.ToInt32(TextBox3.Text),_Convert.ToInt16(Dropdownlist1.SelectedValue))Label6.Visible=TrueEndSub</script><html><headrunat="server"><title>利钱盘算器</title></head><body><formrunat="server"><asp:labelid="Label1"runat="server">P本金($):</asp:label><asp:textboxid="TextBox1"runat="server"></asp:textbox><br/><asp:labelid="Label2"runat="server">利率(%):</asp:label><asp:textboxid="TextBox2"runat="server"></asp:textbox><br/><asp:labelid="Label3"runat="server">年纪:</asp:label><asp:textboxid="TextBox3"runat="server"></asp:textbox><br/><asp:labelid="Label4"runat="server">复利频次:</asp:label><asp:dropdownlistid="Dropdownlist1"runat="server"><asp:ListItemValue="1">每一年</asp:ListItem><asp:ListItemValue="4">每季</asp:ListItem><asp:ListItemValue="12">每个月</asp:ListItem><asp:ListItemValue="365">逐日</asp:ListItem></asp:dropdownlist><br/><asp:labelid="Label5"runat="server">节余:</asp:label><asp:labelid="Label6"visible="false"runat="server"></asp:label><br/><asp:buttonid="Button1"runat="server"text="盘算"/></form></body></html>

在计划视图中,修正后的Default.aspx应与相似。



:计划视图中的Default.aspx

必要注重是,当您在用于挪用组件类的<剧本>块中键进代码时,将取得完全的IntelliSense语句完成(包含组件类),如所示。这是在VisualStudio.NET2003基本上的一年夜改善,VisualStudio.NET2003不撑持服务器端<剧本>块中的IntelliSense。



:源视图中的IntelliSense

扫瞄Default.aspx会天生中所示的输入。填进本金、利率和年纪,然后单击Calculate(盘算),输入了局应与相似。



:Default.aspx的初始输入



:盘算后的输入

资本文件假如您之前在VisualStudio.NET2002或2003中利用过Web使用程序,您必定已注重到每次创立新Web窗体页时,除.aspx页和.vb或.cs模块化文件以外,VisualStudio还会创立一个具有.resx扩大名的婚配文件(即WebForm1.aspx.resx)。与年夜多半Web开辟职员一样,您大概也会疏忽或试图删除这些文件,由于它们的用处和/或用法并非很直不雅。简言之,这些.resx文件称为“资本文件”,次要用于存储各个版本的资本,比方用于当地化的分歧言语的文本字符串。

在VisualStudio.NET2002和2003中,资本文件必要作为天生项目历程的一部分增加到项目程序会合,而且必要导进两个定名空间,创立一个ResourceManager工具,并挪用其GetString办法以会见资本字符串。在Code目次的匡助下,VisualStudio.NETWhidbey中的资本会见历程变得十分复杂,以下面的示例所示。

我们先从创立资本文件入手下手,仍是利用上一个示例中的项目。起首,右击方才创立的CompilationWeb站点,然后单击AddNewItem...(增加新项...)。在AddNewItem(增加新项)对话框中,选择AssemblyResourceFile(程序集资本文件)模板,将资本文件定名为strings.resx,然后单击Open(翻开)。strings.resx文件的默许视图应与相似。



:在XML编纂器中编纂资本文件

将以下项增加到数据表中(能够将“comment”(正文)、“type”(范例)和“mimetype”(MIME范例)列保存为空):

称号值txtColorPrompt请选择一种色彩:txtColorResponseGreen您选择了绿色!txtColorResponseBlue您选择了蓝色!txtColorResponseRed您选择了白色!

如今反复上述历程,增加一个名为strings.en-GB.resx的新资本文件,并将以下项增加到其数据表中,然后保留文件(由于我们没有增加txtColorResponse*的项,以是一切客户机都将利用strings.resx中的这些项的值):

称号值txtColorPrompt请选择一种色彩:

如今,为了充实使用Code目次的奇妙感化,我们必要将这两个.resx文件从Web站点的根目次拖到Code目次中。完成上述操纵后,将失掉相似的了局。



:Code目次中的.resx文件

为了申明如今利用创立的资本文件是何等复杂,我们将一个Web窗体增加到项目中,办法以下:右击Web站点节点,然后单击AddNewItem....(增加新项...)。在AddNewItem(增加新项)对话框中,选择Web窗体,将页面定名为ColorPicker.aspx,然后单击Open(翻开)。修正此页面,使其与以以下表婚配。

ColorPicker.aspx:

<%@pageUICulture="en-GB"language="VB"%><scriptrunat="server">SubPage_Load(ByValsenderAsObject,ByValeAsSystem.EventArgs)Label1.Text=Resources.strings.txtColorPromptEndSubSubSubmit_Click(ByValsenderAsObject,_ByValeAsSystem.EventArgs)Label1.ForeColor=_System.Drawing.Color.FromName(Dropdownlist1.SelectedValue)SelectCaseDropdownlist1.SelectedValueCase"白色"Label1.Text=Resources.strings.txtColorResponseRedCase"绿色"Label1.Text=Resources.strings.txtColorResponseGreenCase"蓝色"Label1.Text=Resources.strings.txtColorResponseBlueEndSelectDropdownlist1.Visible=FalseSubmit.Visible=FalseEndSub</script><html><headrunat="server"><title>色彩拔取器</title></head><body><formrunat="server"><asp:labelid="Label1"runat="server">Label</asp:label><asp:dropdownlistid="Dropdownlist1"runat="server"><asp:listitemvalue="Red">白色</asp:listitem><asp:listitemvalue="Green">绿色</asp:listitem><asp:listitemvalue="Blue">蓝色</asp:listitem></asp:dropdownlist><asp:buttonid="Submit"text="提交"runat="Server"/></form></body></html>

当从扫瞄器中扫瞄ColorPicker.aspx时,默许输入与相似。假如从为英国用户设置的体系中扫瞄此页面(您能够经由过程将页面的UICulture属性设置为“en-GB”并保留页面来摹拟此情况),输入将与相似(请注重,我们已在“colour”中增加了u)。



:ColorPicker.aspx的默许输入



:英国体系的ColorPicker.aspx输入

请注重,在ASP.NETWhidbey中会见资本文件只必要一行代码。由于将资本文件放到Code目次中后,便可主动嵌进和援用该资本文件,以是不必要援用任何定名空间或程序集,也不必要为会见资本字符串创立工具。并且ASP.NET还能够断定应当利用哪一个资本文件(基于用户扫瞄器的设置),因而我们不必要在运转时对此举行判别并作出响应的呼应。ASP.NET能够匡助我们完成这统统。有专家说:java不是跨平台,java就是平台,这很好的定义了java的特点。有了java,你只需要等待java平台在新平台上移植。这还不错吧!只是,java不是一个平台,而是多个平台。你需要在这个java平台移植到另一个java平台。

不帅 发表于 2015-1-19 16:05:12

CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。

再现理想 发表于 2015-1-24 20:48:24

在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.now.net.cn),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的

透明 发表于 2015-2-2 13:15:29

CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。

冷月葬花魂 发表于 2015-2-7 21:14:16

主流网站开发语言之ASP:ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和VisualBASIC类似,可以像SSI(ServerSideInclude)那样把后台脚本代码内嵌到HTML页面中。虽然ASP简单易用,但是它自身存在着许多缺陷,最重要的就是安全性问题。

仓酷云 发表于 2015-2-23 10:58:53

ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。

飘灵儿 发表于 2015-3-7 08:44:04

是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。

因胸联盟 发表于 2015-3-14 16:08:49

这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。

变相怪杰 发表于 2015-3-21 12:45:59

在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.now.net.cn),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的
页: [1]
查看完整版本: ASP.NET编程:ASP.NET中新的代码编译功效(二)