ASP.NET
「グローバル」変数
Logging
DataGrid
編集
- @IT:連載:プログラミングASP.NET 第12回 Webフォームにおけるデータ連結 Part4 DataGridでの編集
- @IT:連載:プログラミングASP.NET 第10回 Webフォームにおけるデータ連結 Part2 DataListコントロール
TextBox name = (TextBox) e.Item.FindControl("txtName");
のようなパターンが基本
DropDownList isPublicDdl = (DropDownList) e.Item.Cells[6].Controls[1];
ID参照できないときは上記
DataGrid - Template Item - label(s) in ItemTemplate
(DataBindings) ... Custom Binding Expression DataBinder.Eval(Container, "DataItem.<property>")
Template Item
Controls[]の数字の順番は「画面上の位置関係」ではなく「配置した順番」で決まるような気がするが詳細は確認していない.
DataGridコントロール内のドロップダウンリストに動的に項目を追加するには? - C# Webフォーム
http://www.atmarkit.co.jp/fdotnet/dotnettips/090dropdowndg/dropdowndg.html
リスト内容が固定の場合はVisual Studio で DropDownList のプロパティのItemsを直接編集することで定義できる。
ページ・タイトルを実行時に設定するには? - C# Webフォーム
http://www.atmarkit.co.jp/fdotnet/dotnettips/131pagetitle/pagetitle.html
C# snippets
QueryString
Request.QueryString["foo"]
Open New Window
private void Button1_Click(object sender, System.EventArgs e) { Page.RegisterStartupScript("OpenNewWindow", "<script language='javascript'>window.open('foo.aspx', '_blank', 'scrollbars=1,width=480,height=480');</script>"); }
Enterキー無効化
テキストフォームおよびそれと無関係なボタンがあるときに,テキストフォーム内でenterキーを入力すると無関係なボタンが押されたことになってしまう問題がある.
対処法は意外と面倒くさい.
<script language="JavaScript"> <!-- document.onkeydown = KeyEvent; self.focus(); function KeyEvent(e){ var evt; if (e==null) evt = event; else evt = e; key=evt.keyCode; if(key==13){return false;} } //--> </script>
上記のコードをHTMLファイルの<head>内に入れることで対応できる.
キーイベント周りがややこしいのはIEとFirefox等でonkeydownイベント時のふるまいが異なるため.IEはイベントハンドら関数に引数としてイベントを渡さない.