問題:DataView的RowFilter屬性使用方式
RowFilter使用時類式是SQL 語法的Where
Ex:
dv.RowFilter = string.Format("Account= '{0}'", AccountName);
就類式
select * from table where Account = 'AccountName'
參考資料:
http://msdn.microsoft.com/zh-tw/library/system.data.dataview.rowfilter(v=vs.80).aspx
http://60.251.1.52/taiwan/msdn/library/2003/sep-2003/vb03g9.htm
http://www.cnblogs.com/Spirithero/archive/2011/07/20/2111351.html
問題:當利用迴圈建立1~12月份的下拉式選單後,將月份再轉至Datatime的函式時會發生錯誤
EX:
(1)For迴圈建立2012~2022年,1~12月及1~31日值放至下拉式選單
(2)下拉式選單選擇2012年3月1日
(3)合拼三個下拉式選單的數值得到的值為201231,在轉換至Datatime的函式時會發生錯誤,因為正確的值應該要為YYYYMMDD
解決方式:
PadLeft(固定幾位數,向左填補字元)
用PadLeft函式就可解決此問題,在左邊補上1個0
string str = "9";
str.PadLeft(2, '0') => 09
PadRight(固定幾位數,向右填補字元)
str.PadRight(2, '0') => 90
參考文章:
http://www.dotblogs.com.tw/aquarius6913/archive/2011/07/04/31031.aspx
EX:
(1)For迴圈建立2012~2022年,1~12月及1~31日值放至下拉式選單
(2)下拉式選單選擇2012年3月1日
(3)合拼三個下拉式選單的數值得到的值為201231,在轉換至Datatime的函式時會發生錯誤,因為正確的值應該要為YYYYMMDD
解決方式:
PadLeft(固定幾位數,向左填補字元)
用PadLeft函式就可解決此問題,在左邊補上1個0
string str = "9";
str.PadLeft(2, '0') => 09
PadRight(固定幾位數,向右填補字元)
str.PadRight(2, '0') => 90
參考文章:
http://www.dotblogs.com.tw/aquarius6913/archive/2011/07/04/31031.aspx
目前的專案都已開發為全球化網頁,目前網頁內容最常需要顯示幾個語系為繁體、簡體、日文、英文
全球化網頁顯示又可以分成兩種方式
1.App_GlobalResources
2.App_LocalResources
範例1:使用App_GlobalResources 利用下拉式選單改變語系
1.建立Language.aspx
2.在Language.aspx內建立兩個Label及一個DropDownlist
3.建立App_GlobalResources資料夾
4.在App_GlobalResources資料夾建立語系檔
(1)預設:Language.resx
(2)英文:Language.en.resx
(3)繁體中文:Language.zh-TW.resx
ex: Language.resx輸入NAME及VALUE
6.設計ASPX:
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="<%$ Resources:Language, Baseball %>"></asp:Label>
<br />
<asp:Label ID="Label3" runat="server" Text="<%$ Resources:Language, Basketball %>"></asp:Label>
<br />
<br />
<asp:DropDownList ID="ddlLanguage" runat="server" AutoPostBack="True" ClientIDMode="Static">
<asp:ListItem Value="zh-TW">中文</asp:ListItem>
<asp:ListItem Value="en-US">英文</asp:ListItem>
<asp:ListItem Value="ja-JP">日文</asp:ListItem>
</asp:DropDownList>
</div>
</form>
7.程式碼ASPX.VB:
Protected Overrides Sub InitializeCulture()
If Request.Form("ddlLanguage") IsNot Nothing Then
Page.UICulture = Request.Form("ddlLanguage")
End If
End Sub
8.完成,可以測試下拉式選單的多國語系。
9.如果在程式碼ASPX.VB內未增加下拉式選單,及 InitializeCulture()的條件,程式就會依當前視窗的語系做判斷,且刪除 第7項程式碼ASPX.VB內的程式判斷
可利用語言喜好設定做測試。
範例2:使用App_LocalResources 利用下拉式選單改變語系
1.建立Language-4.aspx
2.在Language-.aspx內建立兩個Label及一個DropDownlist
3.選擇Generate Local Resource
建立語系檔:
(1)預設:Language-4.resx
(2)英文:Language-4.en.resx
(3)繁體中文:Language-4.zh-TW.resx
ex: Language-4.resx輸入NAME及VALUE
Protected Overrides Sub InitializeCulture()
If Request.Form("ddlLanguage") IsNot Nothing Then
Page.UICulture = Request.Form("ddlLanguage")
End If
End Sub
6.完成且可以測試下拉式選單的多國語系。
7.如果在程式碼ASPX.VB內未增加下拉式選單,及 InitializeCulture()的條件,程式就會依當前視窗的語系做判斷,且刪除 第5項程式碼ASPX.VB內的程式判斷
可利用語言喜好設定做測試。
ASP.NET 2.0多國語系參考資料:
http://www.dotblogs.com.tw/dotjum/archive/2008/06/04/4232.aspx
ASP.NET 4.0多國語系參考資料:
http://ms-net.blogspot.tw/2010/11/aspnet-40-multi-language-design-1.html
http://msdn.microsoft.com/zh-tw/library/fw69ke6f(v=vs.100).aspx
http://www.dotblogs.com.tw/ian/archive/2010/11/27/19758.aspx
Page.InitializeCulture方法參考資料:
http://msdn.microsoft.com/zh-tw/library/system.web.ui.page.initializeculture(v=vs.80).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1
Culture及UICulture屬性參考資料:
http://msdn.microsoft.com/zh-tw/library/bz9tc508(v=vs.80).aspx
CultureInfo類別的參考資料(含各語系的文化特性名稱):
http://msdn.microsoft.com/zh-tw/library/system.globalization.cultureinfo(v=vs.80).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-4
全球化網頁顯示又可以分成兩種方式
1.App_GlobalResources
2.App_LocalResources
範例1:使用App_GlobalResources 利用下拉式選單改變語系
1.建立Language.aspx
2.在Language.aspx內建立兩個Label及一個DropDownlist
3.建立App_GlobalResources資料夾
4.在App_GlobalResources資料夾建立語系檔
(1)預設:Language.resx
(2)英文:Language.en.resx
(3)繁體中文:Language.zh-TW.resx
ex: Language.resx輸入NAME及VALUE
5.設定Label要戴入的值
(1)選擇Expressions
(2)選擇Resources
(3)輸入Classkey及ResourceKey
6.設計ASPX:
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="<%$ Resources:Language, Baseball %>"></asp:Label>
<br />
<asp:Label ID="Label3" runat="server" Text="<%$ Resources:Language, Basketball %>"></asp:Label>
<br />
<br />
<asp:DropDownList ID="ddlLanguage" runat="server" AutoPostBack="True" ClientIDMode="Static">
<asp:ListItem Value="zh-TW">中文</asp:ListItem>
<asp:ListItem Value="en-US">英文</asp:ListItem>
<asp:ListItem Value="ja-JP">日文</asp:ListItem>
</asp:DropDownList>
</div>
</form>
7.程式碼ASPX.VB:
Protected Overrides Sub InitializeCulture()
If Request.Form("ddlLanguage") IsNot Nothing Then
Page.UICulture = Request.Form("ddlLanguage")
End If
End Sub
8.完成,可以測試下拉式選單的多國語系。
9.如果在程式碼ASPX.VB內未增加下拉式選單,及 InitializeCulture()的條件,程式就會依當前視窗的語系做判斷,且刪除 第7項程式碼ASPX.VB內的程式判斷
可利用語言喜好設定做測試。
範例2:使用App_LocalResources 利用下拉式選單改變語系
1.建立Language-4.aspx
2.在Language-.aspx內建立兩個Label及一個DropDownlist
3.選擇Generate Local Resource
4.系統自動會在App_LocalResources 新增一個Language-4.resx
(1)預設:Language-4.resx
(2)英文:Language-4.en.resx
(3)繁體中文:Language-4.zh-TW.resx
ex: Language-4.resx輸入NAME及VALUE
5.程式碼ASPX.VB:
Protected Overrides Sub InitializeCulture()
If Request.Form("ddlLanguage") IsNot Nothing Then
Page.UICulture = Request.Form("ddlLanguage")
End If
End Sub
6.完成且可以測試下拉式選單的多國語系。
7.如果在程式碼ASPX.VB內未增加下拉式選單,及 InitializeCulture()的條件,程式就會依當前視窗的語系做判斷,且刪除 第5項程式碼ASPX.VB內的程式判斷
可利用語言喜好設定做測試。
ASP.NET 2.0多國語系參考資料:
http://www.dotblogs.com.tw/dotjum/archive/2008/06/04/4232.aspx
ASP.NET 4.0多國語系參考資料:
http://ms-net.blogspot.tw/2010/11/aspnet-40-multi-language-design-1.html
http://msdn.microsoft.com/zh-tw/library/fw69ke6f(v=vs.100).aspx
http://www.dotblogs.com.tw/ian/archive/2010/11/27/19758.aspx
Page.InitializeCulture方法參考資料:
http://msdn.microsoft.com/zh-tw/library/system.web.ui.page.initializeculture(v=vs.80).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1
Culture及UICulture屬性參考資料:
http://msdn.microsoft.com/zh-tw/library/bz9tc508(v=vs.80).aspx
CultureInfo類別的參考資料(含各語系的文化特性名稱):
http://msdn.microsoft.com/zh-tw/library/system.globalization.cultureinfo(v=vs.80).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-4
問題:使用者輸入E-MAIL時的格式錯誤,造成寄信時判斷問題解決方式:利用regular expression validate就可以排除使用者因為輸入錯誤e-mail造成的問題
要使用regular expression validate最好先知道他的符號的意思,不然就跟看外星文一樣,完全看不懂
E-Mail可以使用的驗證格式:"^([\w-\.]+)@(([\w-]+\.)+)([a-zA-Z]{2,4})$"
設計ASPX使用方式:
基本的符號意思:
「^」表示是開始必須符合的格式
「$ 」表示是結尾必須符合的格式
「\w」表示英文或數字
「\d」表示只能為數字
「\.」表示 「.」,前面的 \ 為跳脫字元 (escape)
「\-」表示 「-」,前面的 \ 為跳脫字元 (escape)
「|」表示 or ,即左右兩邊只能出現其中一個
「+」表示出現 1 次以上
「*」表示出現 0 次以上
「A-Z」表示英文大寫 A ~ Z
「a-z」表示英文小寫 a ~ z
「0-9」表示數字 0 ~ 9,同「\d」
[A-Za-z0-9] 表示大小寫英文及數字的組合
E-Mail驗證格式拆解說明:
第一個部份^([\w-\.]+)@
「^」表示是開始必須符合的格式
「\w」表示英文或數字
「\.」表示 「.」,前面的 \ 為跳脫字元 (escape)
「+」表示出現 1 次以上
「@」表示E-MAIL使用的@
合併說明[\w-\.]+表示可以使用1次以上的英文或數字及小數點
第二個部份([\w-]+\.)+)
「\w」表示英文或數字
「+」表示出現 1 次以上
「\.」表示 「.」,前面的 \ 為跳脫字元 (escape)
合併說明([\w-]+\.)表示可以使用1次以上的英文或數字及小數點
合併說明(([\w-]+\.)+)
(1)([\w-]+\.)只能有一次COM.
(2)(([\w-]+\.)+)等於可以多次的([\w-]+\.)
Ex:
GMAIL.COM.
YAHOO.COM.TW
第三個部份([a-zA-Z]{2,4})
「A-Z」表示英文大寫 A ~ Z
「a-z」表示英文小寫 a ~ z
{2,4}表示2~4個位元
參考的資料來源:
http://www.cyut.edu.tw/~ckhung/b/re/intro.php
http://ithelp.ithome.com.tw/question/10094951
http://blog.roodo.com/rocksaying/archives/2670695.html
https://docs.google.com/a/gridow.com/document/d/1bUq0Jb1mLM7zmcVjDyLIX6UTLWGbKp-d99-w4rMrjvg/edit
http://www.cyut.edu.tw/~ckhung/b/gnu/regexp.php
http://ithelp.ithome.com.tw/question/10027862
http://www.mkyong.com/regular-expressions/how-to-validate-email-address-with-regular-expression/
要使用regular expression validate最好先知道他的符號的意思,不然就跟看外星文一樣,完全看不懂
E-Mail可以使用的驗證格式:"^([\w-\.]+)@(([\w-]+\.)+)([a-zA-Z]{2,4})$"
設計ASPX使用方式:
<asp:TextBox ID="email" runat="server">
<asp:RegularExpressionValidator ID="email_chk" runat="server" ErrorMessage="非E-MAIL 格式" ControlToValidate="email" ValidationExpression="^([\w-\.]+)@(([\w-]+\.)+)([a-zA-Z]{2,4})$">
原始檔ASPX.VB使用方式:
Dim EmailRegex As Regex = New Regex("^([\w-\.]+)@(([\w-]+\.)+)([a-zA-Z]{2,4})$")
EmailRegex.IsMatch(EMAIL)
基本的符號意思:
「^」表示是開始必須符合的格式
「$ 」表示是結尾必須符合的格式
「\w」表示英文或數字
「\d」表示只能為數字
「\.」表示 「.」,前面的 \ 為跳脫字元 (escape)
「\-」表示 「-」,前面的 \ 為跳脫字元 (escape)
「|」表示 or ,即左右兩邊只能出現其中一個
「+」表示出現 1 次以上
「*」表示出現 0 次以上
「A-Z」表示英文大寫 A ~ Z
「a-z」表示英文小寫 a ~ z
「0-9」表示數字 0 ~ 9,同「\d」
[A-Za-z0-9] 表示大小寫英文及數字的組合
E-Mail驗證格式拆解說明:
第一個部份^([\w-\.]+)@
「^」表示是開始必須符合的格式
「\w」表示英文或數字
「\.」表示 「.」,前面的 \ 為跳脫字元 (escape)
「+」表示出現 1 次以上
「@」表示E-MAIL使用的@
合併說明[\w-\.]+表示可以使用1次以上的英文或數字及小數點
第二個部份([\w-]+\.)+)
「\w」表示英文或數字
「+」表示出現 1 次以上
「\.」表示 「.」,前面的 \ 為跳脫字元 (escape)
合併說明([\w-]+\.)表示可以使用1次以上的英文或數字及小數點
合併說明(([\w-]+\.)+)
(1)([\w-]+\.)只能有一次COM.
(2)(([\w-]+\.)+)等於可以多次的([\w-]+\.)
Ex:
GMAIL.COM.
YAHOO.COM.TW
第三個部份([a-zA-Z]{2,4})
「A-Z」表示英文大寫 A ~ Z
「a-z」表示英文小寫 a ~ z
{2,4}表示2~4個位元
參考的資料來源:
http://www.cyut.edu.tw/~ckhung/b/re/intro.php
http://ithelp.ithome.com.tw/question/10094951
http://blog.roodo.com/rocksaying/archives/2670695.html
https://docs.google.com/a/gridow.com/document/d/1bUq0Jb1mLM7zmcVjDyLIX6UTLWGbKp-d99-w4rMrjvg/edit
http://www.cyut.edu.tw/~ckhung/b/gnu/regexp.php
http://ithelp.ithome.com.tw/question/10027862
http://www.mkyong.com/regular-expressions/how-to-validate-email-address-with-regular-expression/