2009年6月7日日曜日

8割完成!

現在、粛々と作成中のシャアザクですが、コーティングも済み、
現在、下のような状態まで完成しました。


なぜ、右腕がないのかというと、取り付け中に、上腕部のカバーを割ってしまいました。
ので、リストア中です。
さらに、シールドの裏を塗装中に、デカール面まで汚してしまい、
シールドも再塗装中です。
う~ん、あせったらダメですね。。。

2009年6月5日金曜日

IEとTextbox

続いて、ASP.NETネタ第2段

これについては、今まで知らなかっただけで、
結構有名な話かもしれませんが・・・

----------------------------------------------------
TextBox1
TextBox2
submitボタン
----------------------------------------------------
という構成のWEBページを作ってそのまま、実行
TextBox1にカーソルをもっていき
Enterキーを押下。
→ そうすると、ポストバックが走り、submitボタンの
  押下時処理が走ります。

続いて、TextBox2をEnable = false に設定し、
同じことをします。
→ そうすると、ポストバックが走りますが、
  submitボタンの押下時処理は走りません。

という現象に出くわしました。

で調べてみると、
TextBoxの数が1個と複数の場合で、IEは動きを変える。
ということが判明。

解決策は、幅0のTextBoxを用意する。
というなんとも原始的なもので、皆さん乗り越えているみたいです。

ちなみにfirefoxでは問題は起きないらしい。
さらに、ちなみにHiddenFieldではどうだと試してみましたが、
ダメでした。

partial class

ちょっと、技術系ネタ

.NETにおいて、クラスを複数ファイルに分割するための
partial Classですが、ASP.NETではそう簡単に使えないようです。

---------------------------------------------------------
やりたかったこと
 aaa.aspx
  aaa.aspx.cs

 localclass.cs ← このクラスをaaa.aspxだけから参照するようにしたかった。
---------------------------------------------------------

上記構成にしたかったので、
いろいろ無謀なことを試してみましたが、結果すべてNG

試したこと
@Pageディレクティブを複数宣言すればいいんじゃないか?
 → コンパイルエラー
   @Pageディレクティブはページに1つよと怒られ

app_codeフォルダに入れればいいんじゃないかとか、
 → なにも起きず、参照もできず・・・

namespaceを統一すればいいんじゃないかとか、
 →aaa.aspx.csにnamespaceを入れた段階でコンパイルエラー

--------------------------------------------------------------
調べたこと

そもそも、ASP.NETではデザイン(aspx)とコード(aspx.cs とかaspx.vb)
とかで既にファイル分割されています。
(コードのクラス定義を見ると、作られた段階でpartial Classになっています。)

で、コンパイラは、aspxファイル内の @ Page ディレクティブを参照して、
結合すべきファイルを特定し、apsxファイルとaspx.cs等を結合するという
動きらしいです。

で、そんな事できないとか書いてなかったので推測ですが、
すでに結合しているので無理なんではないかと・・・。

参考URL
http://msdn.microsoft.com/ja-jp/library/ms178138.aspx