星期二, 3月 08, 2005

[.Net]Simple page on mono xsp

試了一個下午,終於弄出來.

首先我們得釐清幾件事情:
1.ByteFX 該如何使用?
2.從 mono 的範例看來,code是可以與page寫在一起,沒問題。但是 Codebehind 呢?

ByteFX 基本上與其他的 DataProvider 用法相同,只是 Prefix 改為 MySql,而 ConnectString 基本上只有四個重要的 attribute:
1.Data Source:指的就是機器名稱,一般使用 localhost。
2.Database:資料庫名稱。
3.User ID:使用者帳戶。
4.Password:密碼。
using ByteFX.Data.MySqlClient;
//...
MySqlConnection cn;
MySqlCommand cmd;
MySqlDataReader dr;
string myConnectionString="Database=test;Data Source=localhost;uid=root;pwd=;";
cn=new MySqlConnection( myConnectionString );
cmd=cn.CreateCommand();
cmd.CommandType=CommandType.Text;
cmd.CommandText="select * from table1";
cn.Open();
dr=cmd.ExecuteReader();
// do anything you want.


Codebehind 的用法基本上也與 Windows 上的 asp.net 相同,沒什麼大問題。在這邊花了比較多的時間,原因是因為太久沒用,而且沒有 IDE,只能手動比對以前的 asp.net 程式碼,才對出來。你的頁面最前面必須要有

<%@ Page language="C#" debug="true" Codebehind="your_page.aspx.cs" AutoEventWireup="false" Inherits="your_page_class" %>

而你的 your_page.aspx.cs 則應該要有一個 class,叫作 your_page_class,並且繼承 System.Web.UI.Page。
p.s your_page.aspx.cs / your_page_class 這兩個名稱請依自己的需求做替換。

另外有碰到無法編譯,出現 System.Design.dll 找不到錯誤的問題,這是因為沒有安裝 mono-winforms 的緣故,裝上以後就 ok 了。

沒有留言: