[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
//===========================
// Version : ASP2.0
// Language : C#
//===========================
foreach文を用いるとこで、IEnumerableインターフェースを介した要素へのアクセスを簡単化することが出来る。
以下のようにforeachを使うことで、コレクションのすべての要素を1回ずつ読み出すことができる。
//----------------------------------------
// foreach(型名 変数 in コレクション)
// 文
//----------------------------------------
<形式>
IEnumerator e = array.GetEnumerator();
while(e.MoveNext())
{
型名 変数 = (型名)e.Current;
文
}
<例文>
// int型の配列の要素を読み出して画面に表示
int[] array = new int[10] {1, 2, 4, 8, 16, 32, 64, 128, 256, 512};
foreach(int n in array) {
Console.Write(n + " ");
}
<実行結果>
1 2 4 8 16 32 64 128 256 512
// 引用
// http://ufcpp.net/study/csharp/sp_foreach.html
//===========================
// Version : ASP2.0
// Language : C#
//===========================
/// <summary>
/// GridView作成時
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void GridView1_RowCreated(object sender, System.Web.UI.WebControls.GridViewRowEventArgs e)
{
// データ表示行の場合
if (!(e.Row.RowType == DataControlRowType.DataRow))
{
// レコード操作用リンクボタンに行番号の引数を付与する
foreach (Control control in e.Row.Cells[2].Controls)
{
if (control is LinkButton)
{
LinkButton linkButton = (LinkButton)control;
linkButton.CommandArgument = System.Convert.ToString(e.Row.RowIndex);
}
}
}
}
/// <summary>
/// リンククリック時
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void LinkButton1_Click1(object sender, EventArgs e)
{
LinkButton link = (LinkButton)sender;
string strKey = GridView1.Rows[int.Parse(link.CommandArgument)].Cells[1].Text;
Response.Redirect("リンク先?key=" + strKey);
}
// 引用
// http://www.techbank.jp/vbnet/CustomGridView.html
// Version : ASP2.0
// Language : C#
//===========================
^
入力文字列の最初にマッチ
$
入力文字列の最後にマッチ
// コメント使用
Regex regex = new Regex(@"
^ # 開始のアンカー
(?=.*\d) # 最低でも 1 桁の数字が必要です。
(?=.*[a-z]) # 小文字が 1 文字必要です。
(?=.*[A-Z]) # 大文字が 1 文字必要です。
.{8,10} # 8 から 10 文字の長さ。
\s # 空白を許可
$ # 終了のアンカー",
RegexOptions.IgnorePatternWhitespace);
// 引用
// http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000001.aspx
// Version : ASP2.0
// Language : C#
//===========================
▼ CONTROL
・RegularExpressionValidatorコントロール
サーバー コントロールから取り込んだ入力の場合
・System.Text.RegularExpression.RegExクラス
クエリ文字列、クッキー、HTML コントロールのような形式の違う入力を検証する場合
▼ PROPERTY
・ControlToValidateプロパティ
検証するコントロール
・ValidationExpressionプロパティ
適切な正規表現
・ErrorMessageプロパティ
検証が失敗した場合に表示するメッセージ
▼ Ex
<asp:RegularExpressionValidator
ID = "regexpName"
runat = "server"
ErrorMessage = "This expression does not validate."
ControlToValidate = "txtName"
ValidationExpression = "^[a-zA-Z'.\s]{1,40}$"/>
// 引用
// http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000001.aspx
//===========================
// Version : ASP2.0
// Language : C#
//===========================
// 使用事由
サーバー コントロールを使用していない場合。
フォームフィールド以外のソース(クエリ文字列パラメーター、クッキー等)から入力を検証する必要がある場合。
// 名前空間参照
using System.Text.RegularExpressions;
// インスタンス
Regex reg = new Regex(@"^[a-zA-Z'.]{1,40}$");
Response.Write(reg.IsMatch(txtName.Text));
// スタティック
if (!Regex.IsMatch(txtName.Text, @"^[a-zA-Z'.]{1,40}$"))
{
}
// 引用
// http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000001.aspx