日期:2009-08-01  浏览次数:20464 次

 ASP.net支持多种语言,它的缺省语言将是:visual basic而不是vbscript,这意味着我们可以摆脱vbscript的语言限制,我们的代码将是编译后运行的(而不是原来的解释执行)。

  Visual Basic

  让VBScript 一边去吧。ASP现在全部用成熟的VB语言来书写。感觉还不错,不是吗?不过,VB有了一些改动。VB中的主要改变,不再有Set & Let,不再有缺省属性,Parenthesis现在被称为SUBS,Arguments需通过缺省设置来实现 BYVAL,Integer 为32位,Long为64位,And" and "Or“ 省略了,通过上面的清单不难发现,VB的许多变动是有实际意义的,也是有明显进步的。

  不过,通过上面这些变动却不能改变一个事实,你许多现有的代码将不会正常运作。

  我们先看个完整的查询的例子,这个例子也显示了当查询显示没有纪录返回和如何检测返回NULL数据的情况

  $#@60;%@ OutputCache duration="240"%$#@62;
$#@60;%--
the above OutputCache directive is pretty slick
It means that for 240 seconds (4 minutes) the page will only read the database once
only the first user hitting it forces a database read
--%$#@62;
$#@60;%@ Import Namespace="System.Data" %$#@62;
$#@60;%@ Import Namespace="System.Data.ADO" %$#@62;

  $#@60;script language="VB" runat="server"$#@62;
Sub Page_Load(Src As Object, E As EventArgs)
  Dim DS As DataSet
  Dim MyConnection As ADOConnection
  Dim MyCommand As ADODataSetCommand
  dim strconn as string
  dim strSQL as string

  strconn="DSN=student;uid=student;pwd=magic;database=student"

  strSQL="select * from Publishers where state="NY""

  MyConnection = New ADOConnection(strconn)
  MyCommand = New ADODataSetCommand(strSQL,MyConnection)

  DS = new DataSet()
  MyCommand.FillDataSet(ds, "Publishers")

  MyDataGrid.DataSource=ds.Tables("Publishers").DefaultView
  MyDataGrid.DataBind()
End Sub

$#@60;/script$#@62;
$#@60;HTML$#@62;$#@60;head$#@62;
$#@60;title$#@62;Grid of New York Data$#@60;/title$#@62; > $#@60;/head$#@62;
$#@60;body bgcolor="#FFFFFF"$#@62;
$#@60;h3$#@62;$#@60;font face="Verdana"$#@62;New York Data$#@60;/font$#@62;$#@60;/h3$#@62;

$#@60;ASP:DataGrid id="MyDataGrid" runat="server"
Width="100%"
BackColor="white"
BorderColor="black"
ShowFooter="false"
CellPadding=3
CellSpacing="0"
Font-Name="Verdana"
Font-Size="8pt"
Headerstyle-BackColor="lightblue"
Headerstyle-Font-Size="10pt"
Headerstyle-Font-Style="bold"
MaintainState="false"
/$#@62;
$#@60;/body$#@62;$#@60;/HTML$#@62;

  C# (C Sharp)

  C # 非常“酷”,这儿有个双关语,在微软的内部代码名称里,C#就被称为 “酷”(具体语法将另文介绍)。如果你是用VB的开发者,就没有必要换用其它的语言,但是用C++ 的开发者会高兴得不得了。我们将在后面看到关于C#的例子

  Jscript

  如我所知,这也是以前老版本的Jscript。如同VB一样,Jscript也从NGWS runtime中得益不少,并且它也是被编译过的。