2013年11月26日火曜日

秀丸でバイナリを確認する方法

「その他」→「コマンド一覧」→「ファイル系」→「バイナリモード」

以上メモまで。

2013年11月18日月曜日

【ASP.NET WebForms】aspxファイルとclassファイルの名前衝突

今さらな内容ですが、ASP.NET WebForms で開発する時にaspxファイルとクラスファイルのクラス名が衝突するとエラーになります。
名前空間が違えば衝突は起こりません。
(当然といえば当然ですが)


ただし、どこかでそのクラス(画像では「Sample」)を呼びださなければ、ビルドは通ります。
呼び出すと以下のようなエラーが出ます。



型 'Sample' は 'c:\Users\xxxxxx\AppData\Local\Temp\Temporary ASP.NET Files\root\d4b956ac\5fcc836a\App_Web_rnnubpny.dll' および 'c:\Users\xxxxxx\AppData\Local\Temp\Temporary ASP.NET Files\root\d4b956ac\5fcc836a\App_Code.zs4dnvnx.dll の両方に存在します。
意外とやってしまいがちなミスなので気をつけましょう。
と、自分に言い聞かせるメモ。

2013年10月19日土曜日

【Entity Framework】同時実行制御(楽観ロック)を行う (Edit画面にhiddenを追加する)

Entity Framework で同時実行制御を行うにはTimestamp属性をつけるだけでEFが勝手にやってくれます。
(Timestamp属性をつけておけば、ConcurrencyCheckはいらない・・・たぶん)

HogeEntity.cs
public class HogeEntity
    {
        public int HogeEntityId { get; set; }
        public string Name { get; set; }
        public string Value { get; set; }

        [Timestamp]
        [ConcurrencyCheck]
        public byte[] Timestamp { get; set; }
    }


Scaffoldingでコントローラーとビューを作った時はEdit画面にHiddenフィールドを追加してあげないとエラーになります。

Edit.cshtml
@Html.HiddenFor(model => model.Timestamp)

2013年9月10日火曜日

【ASP.NET Webforms】UpdatePanel上でJavaScriptを動かす

ASP.NET WebForms でサーバーサイドで生成したJavaScriptを走らせるには
ClientScript クラスの ClientScript.RegisterStartupScript メソッドなどを利用します。

が、UpdatePanel と一緒だと上記では動作しません。

ScriptManager クラスの ScriptManager.RegisterStartupScript メソッドなどを利用します。

以上、メモまで。

2013年9月7日土曜日

【Visual Studio】 Git Source Control Provider で Webサイトプロジェクトにリポジトリ作成

Visual Studio で新規にWebアプリケーションを作成する時に
「新しいプロジェクト」と「新しいWebサイト」の2種類があります。

その詳細な説明は他に譲るとして
【msdn】
Visual Studio での Web アプリケーション プロジェクトと Web サイト プロジェクト
http://msdn.microsoft.com/ja-jp/library/dd547590.aspx 

【どっとねっとふぁん】様
WebアプリケーションプロジェクトとWebサイトプロジェクト
http://blogonos.wordpress.com/2008/01/21/


ファイル・ディレクトリ構成は以下のとおりです(デフォルト)。

「新しいプロジェクト」の場合は
 ソリューションファイル
 C:\Users\<ユーザ名>\Documents\Visual Studio 2012\Projects\hoge\hoge.sln
 コーディングしたファイル
 C:\Users\<ユーザ名>\Documents\Visual Studio 2012\Projects\hoge\hoge

「新しいWebサイト」の場合は
 ソリューションファイルは
 C:\Users\<ユーザ名>\Documents\Visual Studio 2012\Projects\hoge\hoge.sln
 コーディングしたファイルは
 C:\Users\<ユーザ名>\Documents\Visual Studio 2012\WebSites\hoge


Webサイトプロジェクトの場合、ソリューションファイルと本体のファイルとで
ディレクトリ構成が異なってしまうのですが、Git Source Control Provider を使って
VSからリポジトリを作成しようとすると、ソリューションファイルのあるディレクトリに
「.git」ディレクトリが作成され、本体のファイルをgitで管理できません。

Git Bash や Tortoise Git など Visual Studio 以外から先にリポジトリを作成しておけば
Visual Studio 上で Git Source Control Provider で管理できるようになります。

以上メモまで。
(Gitを使い始めたばかりなので認識に誤りがあればご指摘頂けますと幸いです)