为了眼界,利用空余时间来多学习了一种语言,挑了Python,Phtyon早就听说可以在dot net框架下跑了,于是摆度下了相关的资料,跟着前辈们来画代码,我一直在用asp.net来做我的工作,所以我摆度了下是否支持asp.net,果真还真支持,但需要下载一个安装包
icrosoft IronPython for ASP.NET CTP
http://www.microsoft.com/downloads/details.aspx?FamilyId=55932211-0D7E-4C6E-9B18-8F9D2AC1EE43&displaylang=en
安装完后,可以直接用vs.net来创建IronPython的web site,我用的是vs2005 IDE,直接新建一个web site,但在选语言时必须选择IronPython后,可以看到它的page与cs代码的结构基本上与asp.net c#类似,
<%@ Page Language="IronPython" CodeFile="Default.aspx.py" %>,后缀名为py了
不过里面就没有智能提示了,感觉好像回到了asp时间,它的后台的代码(类.cs文件)是放在App_Script的目录中,可以直接在这里加IronPython的py文件。
选中App_Script文件夹后,添加一个新项,选择IronPython Moudle后,加一个py文件,名为SampleModule.py,内容如下:
class SampleClass:
"Sample class with one property"
_testString = "" "私有成员"
"定义一个函数用来给这个私有成员值,和c#的类属性一样"
def SetTestString(value):
_testString = value
def GetTestString():
return _testString
"property很重要,它来描术这里面的二个方法是一个属性给外面的实例来访问"
TestString = property(GetTestString, SetTestString)
回到Default.aspx的页面,在HTML中加入
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /><br /><br />
<h3><asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></h3>
Button1_Click这是一个方法名,我们需要在py文件里定义
首先要引用这个Ironpython
”SampleModule是刚才建立的.py文件名“
import SampleModule
from SampleModule import SampleClass
"定义下面的函数名,给aspx上的button访问,sender, args不必先定义类型,它是动态语言,运行时再编译器会知道它的数据类型"
def Button1_Click(sender, args):
"直接声明一个类对象"
sc = SampleClass()
sc.TestString = TextBox1.Text
Label1.Text = sc.TestString
以上代码在vs.net2005下通过,从这个例子可以体会到什么是动态语言,可能要一优时间来习惯它的表达方式,看上去调用很简单。
icrosoft IronPython for ASP.NET CTP
http://www.microsoft.com/downloads/details.aspx?FamilyId=55932211-0D7E-4C6E-9B18-8F9D2AC1EE43&displaylang=en
安装完后,可以直接用vs.net来创建IronPython的web site,我用的是vs2005 IDE,直接新建一个web site,但在选语言时必须选择IronPython后,可以看到它的page与cs代码的结构基本上与asp.net c#类似,
<%@ Page Language="IronPython" CodeFile="Default.aspx.py" %>,后缀名为py了
不过里面就没有智能提示了,感觉好像回到了asp时间,它的后台的代码(类.cs文件)是放在App_Script的目录中,可以直接在这里加IronPython的py文件。
选中App_Script文件夹后,添加一个新项,选择IronPython Moudle后,加一个py文件,名为SampleModule.py,内容如下:
class SampleClass:
"Sample class with one property"
_testString = "" "私有成员"
"定义一个函数用来给这个私有成员值,和c#的类属性一样"
def SetTestString(value):
_testString = value
def GetTestString():
return _testString
"property很重要,它来描术这里面的二个方法是一个属性给外面的实例来访问"
TestString = property(GetTestString, SetTestString)
回到Default.aspx的页面,在HTML中加入
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /><br /><br />
<h3><asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></h3>
Button1_Click这是一个方法名,我们需要在py文件里定义
首先要引用这个Ironpython
”SampleModule是刚才建立的.py文件名“
import SampleModule
from SampleModule import SampleClass
"定义下面的函数名,给aspx上的button访问,sender, args不必先定义类型,它是动态语言,运行时再编译器会知道它的数据类型"
def Button1_Click(sender, args):
"直接声明一个类对象"
sc = SampleClass()
sc.TestString = TextBox1.Text
Label1.Text = sc.TestString
以上代码在vs.net2005下通过,从这个例子可以体会到什么是动态语言,可能要一优时间来习惯它的表达方式,看上去调用很简单。