1. 建立.cs檔案,直接可以寫程式
2. 在其他資料夾,不需要任何的宣告,直接可以使用App_Code的值、類別、函數
在App_Code寫程式
Session()要換成HttpContext.Current.Session()
而
Response.Write()要換成System.Web.HttpContext.Current.Response.Write()
Request系列也要換成HttpContext.Current.Request
2009年3月31日 星期二
2009年3月25日 星期三
.Net C# .ToString() vs. Convert.ToString()
.ToString() vs. Convert.ToString()
兩種都可以把東西轉換成字串
但兩種又不太一樣
Convert.ToString()是將任何物件強制轉換為字串
.ToString()則是若有些物件有提供ToSting()方法才可以轉換,否則會錯誤
Convert還有其他格式轉換方式,可以參考
http://msdn.microsoft.com/zh-tw/library/system.convert_members.aspx
至於.ToString因為配合不同的物件,有不同的功用,可以作到number_format這一類的功能
如:
int a = 99.123
a.ToString("C") => NT$ 99.12
輸出金額格式,台灣的顯示方式是,前置單位NT$,千分號為(,),取小數點以下兩位四捨五入
int a = 99
a.ToString("D10") => 0000000099
自動補到D後面的位數(D參數一定要整數使用,有小數點會發生錯誤)
int a = 99.123
a.ToString("F2") => 99.12
Float的意思,取浮點數,到小數點F後面的位數,四捨五入
int a = 99.123
a.ToString("N") => 99.12
和C類似,只是沒有前置單位
其他還有日期格式等等都可以使用,
需要參考各物件的toString的IFormatProvider
兩種都可以把東西轉換成字串
但兩種又不太一樣
Convert.ToString()是將任何物件強制轉換為字串
.ToString()則是若有些物件有提供ToSting()方法才可以轉換,否則會錯誤
Convert還有其他格式轉換方式,可以參考
http://msdn.microsoft.com/zh-tw/library/system.convert_members.aspx
至於.ToString因為配合不同的物件,有不同的功用,可以作到number_format這一類的功能
如:
int a = 99.123
a.ToString("C") => NT$ 99.12
輸出金額格式,台灣的顯示方式是,前置單位NT$,千分號為(,),取小數點以下兩位四捨五入
int a = 99
a.ToString("D10") => 0000000099
自動補到D後面的位數(D參數一定要整數使用,有小數點會發生錯誤)
int a = 99.123
a.ToString("F2") => 99.12
Float的意思,取浮點數,到小數點F後面的位數,四捨五入
int a = 99.123
a.ToString("N") => 99.12
和C類似,只是沒有前置單位
其他還有日期格式等等都可以使用,
需要參考各物件的toString的IFormatProvider
.NET C# DataTable的拆解
預設的DataTable其實蠻容易理解的
首先就是
DataTable.Rows.Count,可以看到總共有多少筆資料
DataTable.Columns.Count,可以看到總共有多少欄位
至於資料編號則是從零開始遞增
DataTable.Rows[資料編號]['欄位名稱']
就可以取出裡面的值
欄位名稱編號也是從零開始遞增
DataTable.Columns[資料編號]就可以取出欄位名稱
其他還有一些可以用的公用屬性
DataTable.TableName,取得資料表名稱
更詳細的東西參考
http://msdn.microsoft.com/zh-tw/library/system.data.datatable_members(VS.80).aspx
首先就是
DataTable.Rows.Count,可以看到總共有多少筆資料
DataTable.Columns.Count,可以看到總共有多少欄位
至於資料編號則是從零開始遞增
DataTable.Rows[資料編號]['欄位名稱']
就可以取出裡面的值
欄位名稱編號也是從零開始遞增
DataTable.Columns[資料編號]就可以取出欄位名稱
其他還有一些可以用的公用屬性
DataTable.TableName,取得資料表名稱
更詳細的東西參考
http://msdn.microsoft.com/zh-tw/library/system.data.datatable_members(VS.80).aspx
.Net C# 關於與MSSQL連線
不用拉來拉去,而用手刻的連線方式
SqlConnection ConnX = new SqlConnection(連線字串);
try {
ConnX.Open();
} catch {
//連線失敗的處理
}
SqlDataAdapter Comm = new SqlDataAdapter(SQL語法, ConnX);
DataSet ds = new DataSet();
Comm.Fill(ds, "資料表名稱");
//將查詢出來的東西放到ds這個DataSet裡面
DataTable products=ds.Tables["資料表名稱"];
//在將東西轉換到DataTable以提供取用
SqlConnection ConnX = new SqlConnection(連線字串);
try {
ConnX.Open();
} catch {
//連線失敗的處理
}
SqlDataAdapter Comm = new SqlDataAdapter(SQL語法, ConnX);
DataSet ds = new DataSet();
Comm.Fill(ds, "資料表名稱");
//將查詢出來的東西放到ds這個DataSet裡面
DataTable products=ds.Tables["資料表名稱"];
//在將東西轉換到DataTable以提供取用
.Net C# Session 的使用
.Net C#的Session非常簡單,不用預先做任何宣告
直接拿來當陣列使用即可
宣告時Session["名稱"] = 值
取出時Session["名稱"]
但注意,Session必須在某觸發事件中
如:Page_Onload或是Click等事件
直接當作直譯式語言使用,會導致錯誤
直接拿來當陣列使用即可
宣告時Session["名稱"] = 值
取出時Session["名稱"]
但注意,Session必須在某觸發事件中
如:Page_Onload或是Click等事件
直接當作直譯式語言使用,會導致錯誤
2009年3月24日 星期二
.Net C# GET POST取得
GET(顯示傳遞值在網址列): Request.QueryString["名稱"]
POST(隱藏傳遞值在網址列): Request.Form["名稱"]
如果傳遞相同名稱的值
將會變成使用逗號(,)分隔的字串資料
無法像PHP一樣,使用名稱[],來接收值而變成陣列
也不會像PHP一樣,後值會覆蓋前值
但注意,空值也會變成分隔字串
POST(隱藏傳遞值在網址列): Request.Form["名稱"]
如果傳遞相同名稱的值
將會變成使用逗號(,)分隔的字串資料
無法像PHP一樣,使用名稱[],來接收值而變成陣列
也不會像PHP一樣,後值會覆蓋前值
但注意,空值也會變成分隔字串
.Net C#的路徑取得
以http://10.220.34.151/RadarTest/t.aspx?a_id=1為例
Request.Url.Scheme:http
Request.Url.Host:10.220.34.151
Request.Url.Port:80
Request.Url.Authority:10.220.34.151
Request.Url.LocalPath:/RadarTest/t.aspx
Request.Url.PathAndQuery:/RadarTest/t.aspx?a_id=1
Request.Url.Query:?a_id=1
Request.Url.Fragment:
Request.Url.Segments:System.String[]
Request.Url.AbsoluteUri:http://10.220.34.151/RadarTest/t.aspx?a_id=1
Request.Url.AbsolutePath:/RadarTest/t.aspx
Request.Path:/RadarTest/t.aspx
Request.FilePath:/RadarTest/t.aspx
Request.PathInfo:
Request.RawUrl:/RadarTest/t.aspx?a_id=1
Request.PhysicalPath:C:\Inetpub\wwwroot\RadarTest\t.aspx
Request.ApplicationPath:/RadarTest
Request.PhysicalApplicationPath:C:\Inetpub\wwwroot\RadarTest\
Request.CurrentExecutionFilePath:/RadarTest/t.aspx
System.IO.Path.GetDirectoryName(Request.PhysicalPath):C:\Inetpub\wwwroot\RadarTest
System.IO.Path.GetFileName(Request.PhysicalPath):t.aspx
Request.Url.Scheme:http
Request.Url.Host:10.220.34.151
Request.Url.Port:80
Request.Url.Authority:10.220.34.151
Request.Url.LocalPath:/RadarTest/t.aspx
Request.Url.PathAndQuery:/RadarTest/t.aspx?a_id=1
Request.Url.Query:?a_id=1
Request.Url.Fragment:
Request.Url.Segments:System.String[]
Request.Url.AbsoluteUri:http://10.220.34.151/RadarTest/t.aspx?a_id=1
Request.Url.AbsolutePath:/RadarTest/t.aspx
Request.Path:/RadarTest/t.aspx
Request.FilePath:/RadarTest/t.aspx
Request.PathInfo:
Request.RawUrl:/RadarTest/t.aspx?a_id=1
Request.PhysicalPath:C:\Inetpub\wwwroot\RadarTest\t.aspx
Request.ApplicationPath:/RadarTest
Request.PhysicalApplicationPath:C:\Inetpub\wwwroot\RadarTest\
Request.CurrentExecutionFilePath:/RadarTest/t.aspx
System.IO.Path.GetDirectoryName(Request.PhysicalPath):C:\Inetpub\wwwroot\RadarTest
System.IO.Path.GetFileName(Request.PhysicalPath):t.aspx
訂閱:
文章 (Atom)