C#日付から末日を取得

年月の文字列変換をする。

string now = DateTime.Now.ToString("yyyy/MM/");

初日は必ず1日なので、

now += "01";

とでもやれば、「yyyy/MM/dd」で月初めが取得できる。

さて、月末だが。

DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month);

これで取得できるのだが、これは戻り値がintだったりする。

now += DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month).ToString();

こんな感じ。

C#ファイルサイズ取得


FileInfo fInfo = new FileInfo( "ファイルパス" );
int i = fInfo.Length;

chromeのフォントをメイリオに固定

To set the font Meiryo
https://chrome.google.com/extensions/detail/fjhllifflfbfoaojdefkggfofohgckao?hl=ja

Chromeを使っていて個人的に一番気になったのがフォント固定ができないことだった。
しかし、この拡張機能を使えばフォントがメイリオ固定となる。
これはすばらしい。

いよいよFirefoxを捨てる日が来たのだろうか……。

SelectedValueがリセットされる


ある条件によってドロップダウンリストの内容を動的に変えるというケースはよくある。
それほど難しいものではないのだが、ポストバックをするとSelectedValueの値がリセットされてしまう現象に遭遇。色々と原因を探っていたがどうもわからない。

原因はDataValueFieldプロパティにすべて同一の値を入れていたことだった。確かに同じ値を入れる意味はないのだが、たまたま内部的に他のコントロールのIDを保持させるようにしていた。こういうトリッキーな設計はそもそも大間違いなのだな……。

データセットのコードビハインド


Webサイト


Webアプリケーション

比べてみれば一目瞭然。
データセットを作成。クラスを拡張したようと思ったのだが、
Webアプリケーションではコードファイルが別に作られない。

単純で基本的なことかもしれないが、これは意外な盲点だった。


なお、WebサイトからWebアプリケーションへの変換は意外と簡単。

新規にWebアプリケーションプロジェクトを作成し、
そこへ変換したいプロジェクトをバーバー追加していく。

追加が終わったらコンテキストメニューの「Webアプリケーションに変換」をクリックすれば自動的に変換してくれる。

このあたりを読んでおくとためになる。
http://msdn.microsoft.com/ja-jp/library/bb398858.aspx