2011年7月29日金曜日

Visual Studio vNext

次期Visual Studioのホワイトペーパー(日本語)が公開されてます


Visual Studio vNext: アプリケーション ライフサイクル管理
http://www.microsoft.com/japan/msdn/vstudio/using/paper/default.aspx


気になった点:StoryBoard Assistant
画面ショットをキャプチャして、簡易アニメーションを作成
というのがどこまで使えるかな?

2011年7月21日木曜日

ASP.NET positionが指定されたdiv内だとComboboxが正常に表示されない

AjaxComponentToolKitのComboboxは様々なバグがある。とりあえず、現時点で確認しているのは下記点。

・position:absolute/relativeが指定されたdiv内で使用すると、コンボボックスのリストの位置がずれる。これは、コンボボックスのリストの表示位置が画面左上からの絶対位置(absolute)で指定してされるためであり、このため親divでposition指定してしまうとうまくテキストボックスの下につかなくなる。

・display:noneで表示を隠している箇所にあるコンボボックスは、ボタンが消えリストも表示されなくなる。これは、display:noneが指定された箇所についてはオブジェクトの長さ(offsetWidth)が0になってしまうため・・・と思われる。

このトラップを回避するには、コンボボックスのスタイルの挙動をこちらでいじってやる必要がある。CSSとJavaScript、両方で対応する。
・CSSでの対応
・コンボボックスを使用するエリアには、以下スタイルを適用
.combo-area{
              position:static !important;
    }
    position absoluteがきくように、親要素のpositionをstaticで初期化する。!importantは、要素のstyleで直接指定されたものより優先される。

・JavaScriptでの対応(JQuery使用)
ComboboxのCssClassにcomboを設定した上で、下記スクリプトをonloadで走らせる。要素をdisplay:noneにするような処理(例:JQuery ui のアコーディオン処理など)がある場合、それより先行させる必要有り。
function adjustCombobox(){
$(".combo .ajax__combobox_itemlist").each(function(){

//コンボボックスの高さ指定(リスト要素×20pxで指定)
var liCount = $(this).find("li").length;
var h = 20 * liCount;
$(this).css("height", h + "px !important");

//コンボボックスの幅指定(テキストボックスの幅とあわせる)
var textId = $(this).attr("id").replace("OptionList","TextBox");
var boxWidth = $("#"+textId).width();
var boxHeight = $("#"+textId).height();
$(this).css("width", boxWidth + "px !important");

//ボタンのサイズ指定(テキストボックスの高さ+6にする(そのままだと小さい))
var btnId = $(this).attr("id").replace("OptionList","Button"); $("#"+btnId).css("width",( boxHeight + 6 )+ "px !important");
$("#"+btnId).css("height",( boxHeight + 6 ) + "px !important");
}) }
デフォルトで設定されるスタイルは、absoluteのposition以外は完全に無視する。これが対応方法・・・である。

2011年6月14日火曜日

Google Chrome のオフラインインストール

認証プロキシを噛ましていて、オンラインインストールが出来ない場合、
下記リンク先より、インストーラーをDL・実行することで、
オフラインインストール可能


http://www.google.com/chrome/eula.html?standalone=1


(現在のバージョン: 12.0.742.91、 DLファイルサイズ: 22.1MB)




2011年6月6日月曜日

Zen Cording

最近知ったZen Cording、確かにこれはラク

HTML+CSSコーディングが10倍速くなるZen Coding
http://web-tan.forum.impressrd.jp/l/5427

実行環境配布先一覧
http://web-tan.forum.impressrd.jp/e/2011/01/11/9397
 
「公式」 Zen Coding - a new way of writing HTML and CSS code
http://code.google.com/p/zen-coding/

2011年5月27日金曜日

JavaScript、CSSファイルをまとめて読込み

1つのJavaScriptファイルの読込みで、複数のJSファイル、CSSファイルを
まとめて読込む方法


 サンプル例:
  親PGのHEADタグ内で、aaa.jsを読み込み指定
   ⇒ aaa.js内で、bbb.js、ccc.js、xxx.css、yyy.cssを読み込み

---------------------------------------------------------------------
【親PG】

 <script type="text/javascript" src="aaa.js"></script>

---------------------------------------------------------------------
【aaa.js】
 function include(stFile)
 {
  var script = document.createElement('script');
  script.src = stFile;
  script.type = 'text/javascript';
  script.defer = true;
  document.getElementsByTagName('head').item(0).appendChild(script);
 }
 include('bbb.js');
 include('ccc.js');

 document.write('xxx.css');
 document.write('yyy.css');
 

2011年5月25日水曜日

ユーザーコントロール:runat=server を含む form タグの内側に置かなければ成りません。

ユーザーコントロールにコントロールを入れると表題のようなエラーが発生することがある。
エラー回避のために下記コードを追記すればOK。

Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control)

End Sub