.NET

string.Formatの書式指定文字列に中カッコを入れる方法

C#/VB.NETでは、string.Formatによって、書式指定ができる。 int i = 3; string.Format("foo{0}bar", i); //=>"foo3bar" この書式指定文字列に中カッコ{}を混ぜたい場合はどうするか? 2重に記述してあげるとよい。 int i = 3; string.Format("{{foo{0}bar}}…

VBでDateTime型にNothingがセットできる理由

DateTimeは値型である。本来はnull/Nothingはセットできないと思っていた。 でも、VBの場合Nothingがセットできてしまう。デフォルト値はNothingを示す。 なんでだろう?下の書き込みに答えが載っていた。GotDotNet Japan 掲示板 スレッド: DateTime型の引数…

きみはどこのメンバ?

GridViewをいじくりまわしていると、なんの指定もなしでEvalやらBindやらDataItemIndexやらが使えるので、どこから継承してるのか気になっていた。 なので調べてみた。MSDNで。System.Web.UI.WebControls.CompositeDataBoundControl から継承してるらしい。 …

Using内での変数宣言

Usingステートメント内で宣言した変数は、ステートメント終了とともにDisposeされる。 using System; using System.IO; public class Test: IDisposable { void IDisposable.Dispose() { Console.WriteLine("Disposing Test Class"); } } public class Teste…

GridViewでページングした時の行内の値の取得 - その2 -

昨日に引き続き、試行錯誤2日目。 こんな処理を考えてみた。 ページング前のGridView内チェックボックスの状態をセッションに保存。 Page呼び出し時にセッションに保存した状態を復旧する。「ViewStateでいいじゃん!」と思うかもしれないけれど、気にしない…

GridViewでページングした時の行内の値の取得

GridView.Rowsで取ってこようとしても、1ページ目のDataRowしか取ってこれない。 なにか方法はないものか・・・やりたいこと:GridViewで切り替えた値を元に、別テーブルにUpdateする値の配列を作成する。とりあえず試行錯誤してみる。

ASP.NETの連結式内での条件判定

GridViewでデータバインドして、Eval値を表示させたい場合。 特にテンプレートなどで連結式を書いている時に、 型 'DBNull' から型 'Boolean' への変換は無効です。というエラーが出るときが。DBNullの場合は他の値を表示させたい! そんなとき、ifは使えな…

ViewStateとViewの関係

基本的なことなんだろうけど、一応メモ。コントロールのEnableViewStateがTrueの場合、MultiView上でViewを切り替えた後もコントロールの状態は保持される。ex.) View1(値を変更) → View2 → View1(変更後の値が表示)

Collectionオブジェクト

Stringでインデックス可能な、配列のようにオブジェクトが格納できるものはないかと探してみた。 CollectionオブジェクトはVBのみのオブジェクトなので、なんとなく嫌気。 C#に移植とかなった時に困る。なさそうだけど・・・.NET Framework2.0ならジェネリクス…