業務用のイントラページなどでは、DIVタグの用いてページの一部分をスクロールバー付きウィンドウの様に表示するケースが良くある。
この際、リサイズイベントなどでスクロール領域の高さや幅の動的な変更を行うが、IE9では、正しく動作しない場合がある。
具体的には、IE8以下や他のブラウザの多くでは、
document.getElementById("divData").style.height = "500";
で問題なく動作するが、IE9ではうまく行かない。
(特にエラーとなる訳でも無く、処理が無視された様な挙動となる。)
原因は、IE9では単位の判定が厳密になった為と思われる。
単位をピクセルとして、明確に指定すれば回避でき、また、IE8以下でも弊害はない。
document.getElementById("divData").style.height = "500px";
要は、普段からちゃんと単位指定しなさいという事かと。
2012年04月18日
IE9で style.height に代入できない
posted by rocknfields at 15:10| HTML, CSS, JavaScript
2012年04月12日
インスタンスやオプションの追加/削除
SQL Server 2005〜 でのインスタンスの追加/削除は、ControlPanel の「Add or Remove Programs」から行う方が確実。
一覧中で SQL Server 関係のエントリのうち、以下のものを起動する。
◆SQL Server 2005の場合
・Microsoft SQL Server 2008 「Change」「Remove」
修正や追加なら「Change」、削除なら「Remove」をクリック。
⇒当該モードでダイアログが表示されるので、適宜設定し実行する。
◆SQL Server 2008 / 2008 R2 の場合
・Microsoft SQL Server 2008 「Change/Remove」
・Microsoft SQL Server 2008 R2 「Change/Remove」
起動後、Add / Repair / Remove を選択するダイアログが表示されるので、何れかをクリック。
⇒当該モードでインストーラが起動される。
(手動でインストーラにパラメータを指定しても同様の起動が可能だが、ここからの起動の方が確実。)
一覧中で SQL Server 関係のエントリのうち、以下のものを起動する。
◆SQL Server 2005の場合
・Microsoft SQL Server 2008 「Change」「Remove」
修正や追加なら「Change」、削除なら「Remove」をクリック。
⇒当該モードでダイアログが表示されるので、適宜設定し実行する。
◆SQL Server 2008 / 2008 R2 の場合
・Microsoft SQL Server 2008 「Change/Remove」
・Microsoft SQL Server 2008 R2 「Change/Remove」
起動後、Add / Repair / Remove を選択するダイアログが表示されるので、何れかをクリック。
⇒当該モードでインストーラが起動される。
(手動でインストーラにパラメータを指定しても同様の起動が可能だが、ここからの起動の方が確実。)
posted by rocknfields at 16:21| SQL Server
2012年04月09日
VisualStudioのプロジェクト(WEBアプリとWEBサイト)
Visual Studio 2005 以降、WEBページを作成する方法として、WEBアプリとWEBサイトの2つが提供されている。
デフォルト設定での主な相違点は、以下の通り。
◆WEBアプリケーションプロジェクト
・プロジェクト/ソリューションファイル:有り
プロジェクトファイルに登録されているもののみがビルド対象。
・ビルドタイミング:作成時
複数のコードは単一のDLLにビルドされる。
・デプロイ対象:
単一DLLのデプロイとなる為、軽微な修正でも全アプリのデプロイ対象となり、一時的に全アプリのサービスが停止するとも考えられる。
◆WEBサイトプロジェクト
・プロジェクト/ソリューションファイル:無し
フォルダー下の全コードファイルがビルド対象
・ビルドタイミング:実行時
IIS上にデプロイされたコードが初回実行時にビルドされる。
・デプロイ:
修正対象となったコードファイルのみで可。それ以外のアプリはサービス継続可能。
それぞれ一長一短は有り意見が分かれる所とは思われるが、メンテナンス性の観点からは後者かと。
実際、後者はVS2005から追加されたものなので、その部分の不便さを補完する意味があるのでは。
cf.
http://msdn.microsoft.com/ja-jp/library/dd547590.aspx
デフォルト設定での主な相違点は、以下の通り。
◆WEBアプリケーションプロジェクト
・プロジェクト/ソリューションファイル:有り
プロジェクトファイルに登録されているもののみがビルド対象。
・ビルドタイミング:作成時
複数のコードは単一のDLLにビルドされる。
・デプロイ対象:
単一DLLのデプロイとなる為、軽微な修正でも全アプリのデプロイ対象となり、一時的に全アプリのサービスが停止するとも考えられる。
◆WEBサイトプロジェクト
・プロジェクト/ソリューションファイル:無し
フォルダー下の全コードファイルがビルド対象
・ビルドタイミング:実行時
IIS上にデプロイされたコードが初回実行時にビルドされる。
・デプロイ:
修正対象となったコードファイルのみで可。それ以外のアプリはサービス継続可能。
それぞれ一長一短は有り意見が分かれる所とは思われるが、メンテナンス性の観点からは後者かと。
実際、後者はVS2005から追加されたものなので、その部分の不便さを補完する意味があるのでは。
cf.
http://msdn.microsoft.com/ja-jp/library/dd547590.aspx
posted by rocknfields at 17:26| ASP.NET & IIS設定
2012年04月05日
Visual Sourcesafe オプションのデフォルト値変更
ソース管理にVisual Sourcesafeを使用してチーム開発を行う場合、Visual Sourcesafe オプションのデフォルト値を一括して変更したい場合が有る。
特に、ローカルファイル関係の[タイムスタンプ]や[読み取り属性]は、デフォルト値では、実際の運用にちょっと相応しくない。
SRCSAFE.INIの内容を追記/変更する事で、デフォルト値の変更が可能。
[タイムスタンプ] => [変更時刻]
SetTime = Mod
[読み取り属性] => [セットしない]
Use_Readonly = No
cf.
http://support.microsoft.com/kb/138147/ja
特に、ローカルファイル関係の[タイムスタンプ]や[読み取り属性]は、デフォルト値では、実際の運用にちょっと相応しくない。
SRCSAFE.INIの内容を追記/変更する事で、デフォルト値の変更が可能。
[タイムスタンプ] => [変更時刻]
SetTime = Mod
[読み取り属性] => [セットしない]
Use_Readonly = No
cf.
http://support.microsoft.com/kb/138147/ja
posted by rocknfields at 12:06| .Netコーディング (C#, VB etc)
2012年04月04日
VB vs C# コンバート
VB と C# では、言語仕様の関係から、必ずしも同等のコードを記述できないケースがある。
以下、現状、把握できているケース。
◆VBの引数付きプロパティは、C#に変換できない。
C#ではコレクションを返し、呼び出し側でハンドリングする事を想定していると思われる。
cf.
http://ufcpp.net/study/csharp/oo_property.html#indexed
◆VBのオプショナル引数を関数は、C#に変換できない。
VisualStudio2008(.Net3.5)までは、C#でオプショナル引数が使えない。(C# 3.0の仕様)
この為、オーバーロード関数などで対応する必要あり。
尚、VisualStudio2010(.Net4)からは、使用可能。(C# 4.0の仕様)
cf.
http://ufcpp.net/study/csharp/sp4_optional.html#optional
※その他、各言語間のキーワード比較は以下を参照。
http://msdn.microsoft.com/ja-jp/library/zwkz3536.aspx
http://dobon.net/vb/dotnet/vb2cs/vb2cstable.html
以下、現状、把握できているケース。
◆VBの引数付きプロパティは、C#に変換できない。
C#ではコレクションを返し、呼び出し側でハンドリングする事を想定していると思われる。
cf.
http://ufcpp.net/study/csharp/oo_property.html#indexed
◆VBのオプショナル引数を関数は、C#に変換できない。
VisualStudio2008(.Net3.5)までは、C#でオプショナル引数が使えない。(C# 3.0の仕様)
この為、オーバーロード関数などで対応する必要あり。
尚、VisualStudio2010(.Net4)からは、使用可能。(C# 4.0の仕様)
cf.
http://ufcpp.net/study/csharp/sp4_optional.html#optional
※その他、各言語間のキーワード比較は以下を参照。
http://msdn.microsoft.com/ja-jp/library/zwkz3536.aspx
http://dobon.net/vb/dotnet/vb2cs/vb2cstable.html
posted by rocknfields at 17:47| .Netコーディング (C#, VB etc)
BitMaskをenum定義する
EnumにFlags属性を付与すると、Bitデータとして定義する事ができ、Enumメンバーをビット演算やビットマスクに使用可能となる。
== C# =========================
[Flags]
public enum BitTest
{
LSB = 0x00,
2bit = 0x01,
3bit = 0x02,
4bit = 0x04,
5bit = 0x08,
:
}
== VB =========================
<Flags()> _
Public Enum BitTest
LSB = &H0
2bit = &H1
3bit = &H2
4bit = &H4,
5bit = &H8,
:
End Enum
cf.
http://www.atmarkit.co.jp/fdotnet/dotnettips/1052enumflags/enumflags.html
http://msdn.microsoft.com/ja-jp/library/cc138362.aspx
== C# =========================
[Flags]
public enum BitTest
{
LSB = 0x00,
2bit = 0x01,
3bit = 0x02,
4bit = 0x04,
5bit = 0x08,
:
}
== VB =========================
<Flags()> _
Public Enum BitTest
LSB = &H0
2bit = &H1
3bit = &H2
4bit = &H4,
5bit = &H8,
:
End Enum
cf.
http://www.atmarkit.co.jp/fdotnet/dotnettips/1052enumflags/enumflags.html
http://msdn.microsoft.com/ja-jp/library/cc138362.aspx
posted by rocknfields at 17:22| .Netコーディング (C#, VB etc)