在 IronPython 搭建的項目中(也可以是和 C# 的混合項目,詳見我前一篇 post),可以使用 Anthem.NET 來輕鬆實現 Ajax 功能。
下面我簡單的示範一個例子:在頁面上我們分別放一個 Anthem 的文字框和按鈕控制項,點擊按鈕時,用非同步回調的方式更改文字框中的值。
代碼很簡單:
頁面 ajax1.aspx:
<%@ Page Language="IronPython" CodeFile="ajax1.aspx.py" %>
<%@ Register Assembly="Anthem" TagPrefix="anthem" Namespace="Anthem" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>IronPython 的 Ajax 例子</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<anthem:TextBox ID="txt1" runat="server" />
<anthem:Button ID="btn1" runat="server" Text="測試" AutoCallBack="true" PreCallBackFunction="" OnClick="btn1_Click" />
</div>
</form>
</body>
</html>
後台代碼 ajax1.aspx.py:
def btn1_Click(sender, args):
txt1.Text = u"中國人"
txt1.UpdateAfterCallBack = True
示範效果:
例子雖然非常簡單,但在目前來看,可以表明 IronPython for ASP.NET 的實現有著無限的應用可能
上述例子中需要注意的是,IronPython 的原始碼中字串如果包含中文,則需要用 u'字串' 的方式來表示,否則會失敗。並且這個代碼檔案需要儲存為 UTF-8 格式。