Labelの折り返し(半角英数)をCSSで行う

度忘れてしまうので、メモ。CSSは下記のように書いて、Labelクラスを継承したクラスに、DIVタグで出力するためのプロパティを作成。DIVタグ時にはrapを摘要するようにしておいてあげる。

 div.rap {
	    white-space: -pre-wrap;     /* Opera 4-6 */
	    white-space: -o-pre-wrap;   /* Opera 7 */
	    white-space: -moz-pre-wrap; /* Mozilla */
	    white-space: -hp-pre-wrap;  /* HP Printers */
	    word-wrap: break-word;      /* IE 5+ */
    }
        [DefaultValue(false)]
        [Description("Divタグによる出力をする")]
        public bool DivTag { get; set; }

        protected override HtmlTextWriterTag TagKey
        {
            get
            {
                if (DivTag)
                {
                    base.CssClass = "rap";
                    return HtmlTextWriterTag.Div;
                }
                else
                {
                    return base.TagKey;
                }
            }
        }

デバッグ文を表示したい

VisualStudioでちょっとしたデバッグ情報を表示したいとき用。いっつも忘れるのでメモ。こんなのメモするのも恥ずかしいんだけど。もし出力ウィンドウがない場合は、[表示]-[出力]で出せます。

 System.Diagnostics.Debug.WriteLine(DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss.FFF"));

EnterKey押下時のSubmitの抑制

IEだけならここみてすぐに分かりました。
EnterキーでのSubmitを抑止する

FireFoxへの対応がちょっと面倒だったけど動いたので記録しておく。切り分けの方法についてはこちらを参考にさせて頂きました。
FireFoxとIEの差、textとsrcElementに、はまる

/*EnterKey対応
(1)KeyCodeが取れなかった場合はchecodeで対応(FF向け)
(2)イベントが発生した箇所のType取得(FF対応で分岐)
(3)内容を見てfalse
*/
function EnterBlock(event) {

    var event = event || window.event;

    //KeyCodeの設定
    if (event.keyCode != 0) {
        key = event.keyCode
    }
    else {
        key = event.charcode
    }

    //Typeの取得
    if (document.all) {
        type = event.srcElement.type;
    }
    else {
        type = event.target.type;
    }

    //SubmitとTextArea以外の場合は抑止
    if (key == 13) {
        if (type != 'submit' && type != 'textarea') 
        {
            event.keyCode = 0;
            event.charcode = 0;
            return false;
        }
    }
}


こちらはMasterPageにformがあるので、CodeBehindのPage_Loadに記述

this.form1.Attributes.Add("onkeypress", "return EnterBlock(event)");

VisualStudio2010 Express + NUnit でDebug実行ができない場合 追記

VisualStudio2010 Express + NUnit でDebug実行ができない場合 
以前書いたけど、NUnitが新しくなっていて、またDebug実行できなくなってたので調べて追記
NUnitのバージョンは2.6で、configを下記のように直します。

nunit.exe.config

  <startup>
    <requiredRuntime version="v4.0.30319" />
  </startup>

  <startup useLegacyV2RuntimeActivationPolicy="true">
    <!-- Comment out the next line to force use of .NET 4.0 -->
    <!-- <supportedRuntime version="v2.0.50727" /> -->
    <supportedRuntime version="v4.0.30319" />
  </startup>

AjaxControlToolKit入れた時のエラー回避

「コントロールにコードブロック(<% ... %>)が含まれているため、コントロールのコレクションを変更できません」が出ました。原因はMasterPageに記載しているJavascriptのimport文の箇所

細かいことはこちらに乗っていましたが、対応はシンプル
http://aspnetresources.com/blog/code_blocks_inside_master_pages_cause_trouble

<script type="text/javascript" src="<%= this.ResolveClientUrl("~/Scripts/test.js") %>">

  1. これの「<%=」 を 「<%#」 に変える
  2. headをサーバーコントロールに変える
  3. 下記のようにデータバインドする。以上

protected override void OnLoad(EventArgs e)
{
 base.OnLoad(e);
this.head1.DataBind();
}

プランニングポーカー初実践

ワークショップなどではやっていたけど、実務で使うの初めて!まー、面白かった。
今回のプロジェクトは、互いには知ってはいるけど、一緒のプロジェクト初めての人が多くて、年代も結構ばらばらで、出身も違うので文化が全然違う。プランニングポーカーで、まー、全然みんなが同じカードにならないの(笑)

やー、面白かったわ。
2週間後、どうなってるのかとっても楽しみ

VisualStudio2010でSilverlight4にようやく挑戦

Silverlightに挑戦しようと思って早何年?もうすっかりバージョンが4じゃないですか。お恥ずかしい。大体Silverlightは5も発表になってるじゃないですか。もう本当にお恥ずかしい。急に恥ずかしくなったのでとりえあずもろもろ環境設定からやってみることにした。

とりあえず、次回に続く。続くか!?