IronPython for ASP.NET:使用IronPython创建一个简单的Web页面

IronPython for ASP.NET CTP版发布的消息无疑让人激动,我也迫不及待的下载下来体验一下,根据提供的入门教程写一个最基本的Web页面。在开始之前,你需要下载安装IronPython for ASP.NET CTP版。

1.打开VS2005,新建Web站点,并选择语言为IronPython

2.切换Default.aspx页面到设计模式,在窗体上拖放一个TextBoxButtonLabel控件。

<div>

    
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> &nbsp;

    
<asp:Button ID="Button1" runat="server" Text="Button"/>

    
<h3><asp:Label ID="Label1" runat="server" Text="Label"></asp:Label></h3>

</div>

3.切换到代码文件(Default.aspx.py),可以看到已经导入了一些常用的命名空间

import System

from System.Data import *

from System.Web import *

from System.Web.UI import *

from clr import *

同时还有一个窗体加载事件:

def Page_Load():

    
if not IsPostBack:

        
pass

这里的pass只是一个占位符而已,并没有什么实际的意义。

4.编写窗体加载事件代码,在窗体加载时我们显示自己的用户名:

def Page_Load():

    
if not IsPostBack:

        Label1.Text 
= "TerryLee"

5.编写Button1的单击事件代码:

def Button1_Click(sender, args):

    Label1.Text 
= Textbox1.Text

注意这里代码都要手工输入,不能通过在窗体中双击按钮或者是在属性窗口选择相关事件。

6.在HTML代码中,为Button1加上Click事件,完成后代码如下:

<div>

    
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> &nbsp;

    
<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>

</div>

7.激动人心时刻来临,一个很“复杂”的基于IronPythonASP.NET Web页面终于完成了,运行后界面如下:

文本框中输入cnblogs后单击按钮:

8.如果不想使用独立的代码文件,在ASPX页面中的代码如下:

<script runat="server">

def Page_Load():

    
if not IsPostBack:

        Label1.Text 
= "TerryLee"

 
def Button1_Click(sender, args):

    Label1.Text 
= Textbox1.Text

</script>

使用IronPython创建简单的Web页面就体验到这儿,后面再继续体验其他几个入门教程。

注:该例子来自于IronPython入门教程。

作者:TerryLee
出处:http://terrylee.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
posted @ 2006-11-04 00:36 TerryLee 阅读(2945) 评论(19)  编辑 收藏 网摘 所属分类: [01]  .NET大本营[18]  动态语言

  回复  引用  查看    
#1楼 2006-11-04 01:17 | 大剑师      
TerryLee,好学不倦啊,动作这么快,佩服:)
  回复  引用  查看    
#2楼 2006-11-04 01:36 | 木野狐      
不错不错,我在试验到后面 UserControl 的时候,好像发现一个小问题。
就是在 UserControl 里面定义的 property(按照文档所说,并非是 python 语法的 property),不能生效。目前还未查明是什么原因。
  回复  引用  查看    
#3楼 2006-11-04 01:43 | FantasySoft      
TerryLee的速度真快,赞!
  回复  引用  查看    
#4楼 2006-11-04 01:47 | Dflying Chen      
爱学习的好孩子!
  回复  引用  查看    
#5楼 [楼主]2006-11-04 09:54 | TerryLee      
@大剑师
谢谢,呵呵:)
  回复  引用  查看    
#6楼 [楼主]2006-11-04 09:55 | TerryLee      
@木野狐
后面的我还没有试验,争取这个周末把它做完,有问题还得向你请教:)
  回复  引用  查看    
#7楼 [楼主]2006-11-04 09:56 | TerryLee      
@FantasySoft
谢谢,呵呵

对IronPython感兴趣还是在你的Blog上学的:)
  回复  引用  查看    
#8楼 [楼主]2006-11-04 09:57 | TerryLee      
@Dflying Chen
谢谢:-)
  回复  引用  查看    
#9楼 2006-11-04 11:19 | Tseng      
貌似我看不到什么突出的地方?(第一次了解,请见量),不同AR,第一次看到,我就激动不已!!!!

  回复  引用  查看    
#10楼 2006-11-04 15:19 | 木野狐      
@TerryLee
呵呵,老兄太客气了。咱们一起学习 IronPython :)
  回复  引用  查看    
#11楼 [楼主]2006-11-04 20:53 | TerryLee      
@Tseng
多了解一些就看出来了:)
  回复  引用  查看    
#12楼 [楼主]2006-11-04 20:54 | TerryLee      
@Tseng
多了解一些就看出来了:)
  回复  引用  查看    
#13楼 [楼主]2006-11-04 21:01 | TerryLee      
@木野狐
:)
  回复  引用    
#14楼 2006-11-06 13:02 | 花生米[匿名] [未注册用户]
我也做了一下
def Page_Load():

if not IsPostBack:

Label1.Text = "TerryLee"
这段代码,使用 英文没有问题
但是如果输入中文就不行了
不显示,但是后面 文本筐中输入中文是没有问题的,可以正常显示
不知道是什么原因!
  回复  引用  查看    
#15楼 [楼主]2006-11-07 08:27 | TerryLee      
@花生米[匿名]
不太清楚什么问题?
  回复  引用  查看    
#16楼 2006-11-20 14:48 | main      
用python做数据库的可以了,但是到IronPython for Asp.net中就不能用了.
原因是无法装载驱动,请问如何装载呢?谢谢
  回复  引用    
#17楼 2006-11-29 12:48 | INTO明明 [未注册用户]
@花生米[匿名]
源码保存的编码问题,改成UTF8编码保存源码就可以了。
  回复  引用    
#18楼 2007-01-02 10:41 | robinhood007 [未注册用户]
用IPY写了一个简单程序 但是就是不支持中文,按照楼上说的 还是不行
App_Script

class Person:
def __init__(self,name):
self.name=name
def SayHi(self):
return self.name

class Teacher(Person):
def __init__(self,name):
Person.__init__(self,name)

ASPX:
p=Teacher(u"波客源");
Response.Write(p.SayHi())

如果用英文就能正确显示 麻烦看一下:)
  回复  引用    
#19楼 2008-08-15 09:23 | 新手1 [未注册用户]
请问出现“该应用程序的配置文件必须包含 trust 节”的提示应该怎么办?




标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-11-04 00:39 编辑过
Google站内搜索

相关文章:

相关链接: