【ドロップダウン連携】
たとえばふたつのドロップダウンで、ひとつめのドロップダウンをロード時に値を入れ、値が選択された後にふたつめの値を動的に制御する場合、Load, PreRenderでドロップダウン1のvalueを決めて、PreRenderCompleteイベントででドロップダウン2の値を入れるやり方がある。
※多分です。
2011年11月22日火曜日
ASP.NET:動的にコントロールを生成するときの注意
【LoadControlメソッドなどで動的にコントロールを生成するケース】
表示しかしないないコントロールはPreRenderイベントで生成OKだが、ボタン押下などのイベントを扱うコントロール:PreRenderイベントで生成したのでは正常に動作せず、Loadイベント終了時までに生成されている必要がある。
表示しかしないないコントロールはPreRenderイベントで生成OKだが、ボタン押下などのイベントを扱うコントロール:PreRenderイベントで生成したのでは正常に動作せず、Loadイベント終了時までに生成されている必要がある。
ASP.NET:イベント発生順序
ASP.NETはイベント発生順序に結構気を使う。
基本は以下のとおり。
<APS.NETページロード>
1) Init
2) Load
3) PreRender
4) Unload
<ボタンクリック時>
1) Load
2) Button_Click
3) PreRender
基本は以下のとおり。
<APS.NETページロード>
1) Init
2) Load
3) PreRender
4) Unload
<ボタンクリック時>
1) Load
2) Button_Click
3) PreRender
2011年11月20日日曜日
ASP.NET メモ
ASP.NETメモ
・HTMLフォームコントロール
runat="server"を指定
・フォームデータ遷移が、ページ⇔ページではなく
同一ページでデータの読み込み・受け渡しをする。
(postback)
・複数のHTMLコントロールは指定できず、遷移先は全て自身のアドレスを指定
・サーバコントロールは自動管理
自分にポストした情報(何を選択しているか、など)が保管される
・Buttonコントロールで、はじめてPostBackが発生
(やり方によるけど、基本は)
・(bool) IsPostBack関数で、ポストバックか非ポストバックを判断する
※非ポストバックは、いわゆるはじめてページに飛んできたとき
PageInit→状態復元→PageLoad(ここで初期化)
(この状態復元の段階で、リスト値はPageLoadを実行せずとも復元されている)
・コードビハインドは?
vbとasp.netページをわけること。
vbクラスの中に public class CLASSNAME [inherits] System.Web.UI.Pageで指定
【vbコード】
といったよう。
・データバインドとは?
データ「連結」のこと。
→ページデザインからコードにアクセスするための仕組み
書式が<%# <バインド式> %>
※この両部分のカッコをデリミタという。
Eval or Bind (コントロールのDataBind()またはPageクラスが呼ばれたときに解決される。
Eval = ReadOnly, Bind = RW ok みたいなもの。
DataBindメソッドを発行するだけで、DataGridコントロールが内部でループ処理をしてくれます。
★ちなみにこれに関数を入れることもできます。
Public Function getHeaader() As String
End Function
<HeaderTemplate>社員ID,アンケート実施日時,<%#getHeaader()%>
↑ヘッダテンプレート内に記述
ただしfunctionじゃないとだめとおもう(値を返す)
<%# FormatForXML(DataBinder.Eval(Container.DataItem, "Title")) %>
※FormatForXMLはstring引数1のオリジナル関数
【デバッグ】
System.Diagnostics.Debug.Write()
System.Diagnostics.Debug.WriteLine()
・HTMLフォームコントロール
runat="server"を指定
・フォームデータ遷移が、ページ⇔ページではなく
同一ページでデータの読み込み・受け渡しをする。
(postback)
・複数のHTMLコントロールは指定できず、遷移先は全て自身のアドレスを指定
・サーバコントロールは自動管理
自分にポストした情報(何を選択しているか、など)が保管される
・Buttonコントロールで、はじめてPostBackが発生
(やり方によるけど、基本は)
・(bool) IsPostBack関数で、ポストバックか非ポストバックを判断する
※非ポストバックは、いわゆるはじめてページに飛んできたとき
PageInit→状態復元→PageLoad(ここで初期化)
(この状態復元の段階で、リスト値はPageLoadを実行せずとも復元されている)
・コードビハインドは?
vbとasp.netページをわけること。
vbクラスの中に public class CLASSNAME [inherits] System.Web.UI.Pageで指定
【vbコード】
<%@ PAGE LANGUAGE="C#" Inherits="HogeHoge" Src="sample02.aspx.cs" %> <html> <body> <form runat="server"> <asp:TextBox id="textEMail" runat="server"></asp:TextBox> </form> </body> </html>【ASP.NETページ】
public class HogeHoge : System.Web.UI.Page { protected System.Web.UI.WebControls.TextBox textEMail; private void Page_Load(object sender, System.EventArgs e) { textEMail.Text = "あいうえお"; } }
といったよう。
・データバインドとは?
データ「連結」のこと。
→ページデザインからコードにアクセスするための仕組み
書式が<%# <バインド式> %>
※この両部分のカッコをデリミタという。
Eval or Bind (コントロールのDataBind()またはPageクラスが呼ばれたときに解決される。
Eval = ReadOnly, Bind = RW ok みたいなもの。
DataBindメソッドを発行するだけで、DataGridコントロールが内部でループ処理をしてくれます。
★ちなみにこれに関数を入れることもできます。
Public Function getHeaader() As String
End Function
<HeaderTemplate>社員ID,アンケート実施日時,<%#getHeaader()%>
↑ヘッダテンプレート内に記述
ただしfunctionじゃないとだめとおもう(値を返す)
<%# FormatForXML(DataBinder.Eval(Container.DataItem, "Title")) %>
※FormatForXMLはstring引数1のオリジナル関数
【デバッグ】
System.Diagnostics.Debug.Write()
System.Diagnostics.Debug.WriteLine()
2011年11月15日火曜日
DSOFramerの再インストール
dsoFramer.ocxの再インストール
以下をコマンドプロンプトで叩く。
インストール:
regsvr32 C:\dsoframer.ocx
アンインストール:
regsvr32 C:\dsoframer.ocx /u
要はレジスタとアンレジスタなんですが、ocxはファイルを削除してもレジストリに登録されているものは削除されないので、ファイル削除ではなくアンレジスタするようです。
以下をコマンドプロンプトで叩く。
インストール:
regsvr32 C:\dsoframer.ocx
アンインストール:
regsvr32 C:\dsoframer.ocx /u
要はレジスタとアンレジスタなんですが、ocxはファイルを削除してもレジストリに登録されているものは削除されないので、ファイル削除ではなくアンレジスタするようです。
WebGrabberのエラー
HTMLをPDFにするwebGrabberについてちょっと調べる機会がありました。
2009はwindows server向けぽいです。
スタンドアロンでも動きますし、vbスクリプトからも動くと。
で、サポートツールから使うため、IEエンジンで動かすための調査。
インストールしたら、IEEngineを使うのはまずWebGrabber IE Login Infomationを立ち上げて、
「ドメイン、このコンピュータのユーザ名、このコンピュータのパスワード」で登録。
さらにwindows\system32内にある
APWebGrb.ocx(多分これが一番重要)
APWebGrbNET.dll
APWebGrb.exe
にフルコントロール権限を付けます。
そしたら鬼のように出ていたWPRHandler.exeのハンドラのエラーが出なくなって正常になりました。
結局使わなかったけど。。。
2009はwindows server向けぽいです。
スタンドアロンでも動きますし、vbスクリプトからも動くと。
で、サポートツールから使うため、IEエンジンで動かすための調査。
インストールしたら、IEEngineを使うのはまずWebGrabber IE Login Infomationを立ち上げて、
「ドメイン、このコンピュータのユーザ名、このコンピュータのパスワード」で登録。
さらにwindows\system32内にある
APWebGrb.ocx(多分これが一番重要)
APWebGrbNET.dll
APWebGrb.exe
にフルコントロール権限を付けます。
そしたら鬼のように出ていたWPRHandler.exeのハンドラのエラーが出なくなって正常になりました。
結局使わなかったけど。。。
2011年11月14日月曜日
Smarty Warning: Smarty error: unable to read resource エラー
なぜか時々出るSmartyのこのエラー
Warning: Smarty error: unable to read resource: "test.tpl" in C:\Apache2\php_libs\smarty\libs\Smarty.class.php on line xxxx
テンプレートを絶対パスで指定したら直った。
Warning: Smarty error: unable to read resource: "test.tpl" in C:\Apache2\php_libs\smarty\libs\Smarty.class.php on line xxxx
テンプレートを絶対パスで指定したら直った。
decimal型
DBワンポイント::decimal型
value DECIMAL(5,2)
この例で、5 (precision) は、値に対して格納される 10 進数の桁数を表わし、2 (scale) は、小数点に続いて格納される桁数を表わします。
したがって、この場合、value カラムに格納できる値の範囲は、-99.99 ~ 99.99 になります(MySQL では、正数の符号を格納する必要がないため、
このカラムには、実際には、999.99 までの数値を格納することができます)。
value DECIMAL(5,2)
この例で、5 (precision) は、値に対して格納される 10 進数の桁数を表わし、2 (scale) は、小数点に続いて格納される桁数を表わします。
したがって、この場合、value カラムに格納できる値の範囲は、-99.99 ~ 99.99 になります(MySQL では、正数の符号を格納する必要がないため、
このカラムには、実際には、999.99 までの数値を格納することができます)。
とのこと。
出てくる度に確認してる気がするorz
x80020101のため操作を完了できませんでした
IE6,IE7では,Ajaxで読み込まれるページのJavaScriptが
<script type="text/javascript">
<!--
~~
//-->;
</script>
のようにコメントアウトされていると,
「x80020101のため操作を完了できませんでした」のエラーが表示される。
<script type="text/javascript">
<!--
~~
//-->;
</script>
のようにコメントアウトされていると,
「x80020101のため操作を完了できませんでした」のエラーが表示される。
ASP.NET 本日から翌月末の日付を求める方法
「本日から翌月末の日付」
Dim c As Date = New Date(Now.Year, Now.Month + 2, 1) c.AddDays(-1)
Wacom ペンタブレット:差し直したときにうまくカーソルが動かない
Bamboo買ってからずっとこの現象に悩まされています。
私自身、ペンタブレットは頻繁に使うものではなく、時々遊びに使う程度なので、常時USB口を埋めるのもなんなので使うときにだけ差しています。
しかし差す度に、タッチは反応するのに、カーソルがうまく動かない。
プルプルするだけ。カシャカシャ動かしてもプルプルするだけ。
震えるペン先・・・
なんかかっこいいけどかっこ悪い。
で、そのたびにドライバを再インストールしてたんですが、馬鹿馬鹿しくなってもっとお手軽な対処法はないのかと探したら、以下の方法で解決できました。
スタートメニューから全てのプログラム→Bamboo→Bamboo設定ファイルユーティリティ
→ログインユーザの設定ファイルを削除
差すたびにこれをやらなければならないのも面倒なんですが。
ドライバ再インストールよりマシかと自分を納得させています。
私自身、ペンタブレットは頻繁に使うものではなく、時々遊びに使う程度なので、常時USB口を埋めるのもなんなので使うときにだけ差しています。
しかし差す度に、タッチは反応するのに、カーソルがうまく動かない。
プルプルするだけ。カシャカシャ動かしてもプルプルするだけ。
震えるペン先・・・
なんかかっこいいけどかっこ悪い。
で、そのたびにドライバを再インストールしてたんですが、馬鹿馬鹿しくなってもっとお手軽な対処法はないのかと探したら、以下の方法で解決できました。
スタートメニューから全てのプログラム→Bamboo→Bamboo設定ファイルユーティリティ
→ログインユーザの設定ファイルを削除
差すたびにこれをやらなければならないのも面倒なんですが。
ドライバ再インストールよりマシかと自分を納得させています。
2011年11月9日水曜日
SQL:NULL値を指定した値で置き換え表示
select ISNull(column, "this is NULL") from Table...
で、NULLを代替文字列で置き換え表示できる。
便利です。
で、NULLを代替文字列で置き換え表示できる。
便利です。
SQL:CaseWhenの使い方
SQLのCase Whenについて
※いわゆるif文のようなもの
便利です。
※いわゆるif文のようなもの
select (列名 as 列名) CASE when 条件 then 返値 when 条件 then 返値(省略可) else 返値(省略可) END
便利です。
2011年11月8日火曜日
HTMLが真っ白になる
HTMLをブラウザで開いたときに真っ白になる現象。
metaタグのcharset=utf-8宣言と<title>タグの順番が前後していたせいでIEがちゃんとUTF-8と認識してくれなかった。
正しい順番は
<meta...>
の次に
<title>○○</title>
ただ、<title>タグに挟む文字によっては、やはり同じ現象が起こるらしい。
「定」とか。なぜだろう?
予防策として、保存時の文字コードとキャラクタセットをちゃんと統一すること。
参考URL
http://www.tagindex.com/kakolog/q2bbs/1601/1844.html
タグに挟む文字によっては、やはり同じ現象が起こるらしい。<br /> 「定」とか。なぜだろう?<br /> <br /> 予防策として、保存時の文字コードとキャラクタセットをちゃんと統一すること。<br /> <br /> 参考URL<br /> http://www.tagindex.com/kakolog/q2bbs/1601/1844.html
metaタグのcharset=utf-8宣言と<title>タグの順番が前後していたせいでIEがちゃんとUTF-8と認識してくれなかった。
正しい順番は
<meta...>
の次に
<title>○○</title>
ただ、<title>タグに挟む文字によっては、やはり同じ現象が起こるらしい。
「定」とか。なぜだろう?
予防策として、保存時の文字コードとキャラクタセットをちゃんと統一すること。
参考URL
http://www.tagindex.com/kakolog/q2bbs/1601/1844.html
zip生成時、ツールによっては解凍できないzipが出来る
APIかなんかでzipを生成したとき、ツールによって解凍できないzipができてしまう
生成したいパスが、実行フォルダ/folder/配下だった場合、出力先を
addzip->"/folder/xxx.txt" ×ぶっぶー
addzip->"folder/xxx.txt" としなきゃいけない。
敗因はこの「/」ルートのスラッシュ。
だからツールによっては無理矢理c:\で解凍しようとしておかしなことになっていたようです。
わかってしまえばなんてことないのだが、注意しないとダメですね。
生成したいパスが、実行フォルダ/folder/配下だった場合、出力先を
addzip->"/folder/xxx.txt" ×ぶっぶー
addzip->"folder/xxx.txt" としなきゃいけない。
敗因はこの「/」ルートのスラッシュ。
だからツールによっては無理矢理c:\で解凍しようとしておかしなことになっていたようです。
わかってしまえばなんてことないのだが、注意しないとダメですね。
Flex:データグリッドでオンマウスしても選択状態にならない
Flexのデータグリッドで、マウスをオンしても色が反転してくれないという謎の現象に悩む。
どうやらuidというカラムを含んだテーブルから取得したデータで、uidにNULLがあるとそういう状態になるらしい。
でもオンクリック時にはちゃんと値が取れる。
データをinsertするときNULLを避けなきゃなぁとうなだれていたのだが真相を知ってびっくり。
カラム名を『uid』としてしまった場合、それが『ユニークキー』じゃないと、配列をarraycollectionにいれてDataGrid(リスト系UI?)に放り込んだ際に、マウスのカーソル通り背景が反転しない現象が出現するのだった。
こんなんわかんないッスよorz
発見したとき思わず両手を合わせて拝んだブログ
http://www.coltware.com/category/flex/flex_ui/
どうやらuidというカラムを含んだテーブルから取得したデータで、uidにNULLがあるとそういう状態になるらしい。
でもオンクリック時にはちゃんと値が取れる。
データをinsertするときNULLを避けなきゃなぁとうなだれていたのだが真相を知ってびっくり。
カラム名を『uid』としてしまった場合、それが『ユニークキー』じゃないと、配列をarraycollectionにいれてDataGrid(リスト系UI?)に放り込んだ際に、マウスのカーソル通り背景が反転しない現象が出現するのだった。
こんなんわかんないッスよorz
発見したとき思わず両手を合わせて拝んだブログ
http://www.coltware.com/category/flex/flex_ui/
2011年11月7日月曜日
CustomContorolで検証が呼び出されない
CustomControlの罠
CustomControlで入力が空の場合、Falseとするような検証作ってたつもりだったのにFalseにはならず悩んでいたら、仕様でした。
『入力コントロールが空の場合、検証関数は呼び出されず、そのまま検証が成功します。ユーザーが入力コントロールへの入力を省略しないようにする場合は、RequiredFieldValidator コントロールを使用します。』
そうですか。。。
CustomControlで入力が空の場合、Falseとするような検証作ってたつもりだったのにFalseにはならず悩んでいたら、仕様でした。
『入力コントロールが空の場合、検証関数は呼び出されず、そのまま検証が成功します。ユーザーが入力コントロールへの入力を省略しないようにする場合は、RequiredFieldValidator コントロールを使用します。』
そうですか。。。
2011年11月6日日曜日
VB.NET 省略可能な引数を持つ関数
Private Sub OptionalFunction _ (ByVal Name As String, Optional ByVal Value As String = "Default") Console.WriteLine("hogehoge", Name, Value) End Sub・Optionalキーワードを指定する場合、初期値を設定する必要がある。
・引数省略時には、初期値に設定した値が使用される。
window onloadの書き方
javascript window onloadでハマった。
こちらはOK(無名関数を使う。こちらのが正統ぽい)
window.onload = hogehogeFunction(); //これだとNG window.onload = hogehogeFunction; //これだとOK?
こちらはOK(無名関数を使う。こちらのが正統ぽい)
window.onload = function(){ hogehogeFunction(); }
2011年11月5日土曜日
ページの有効期限切れ対策
Windows ServerにてPHPのページの有効期限切れをなくす
c:\windows php.iniの中の
; session.cache_limiter = nocache
session.cache_limiter = none
とする。
c:\windows php.iniの中の
; session.cache_limiter = nocache
session.cache_limiter = none
とする。
2011年11月4日金曜日
ファイルアップロードが出来ない
<form name="form_name" id="form_name" method="" action="" enctype="multipart/form-data">
enctypeの記述がなかったorz
enctypeの記述がなかったorz
2011年11月3日木曜日
ImageMagick サーバ設定
画像が変換されない、変換されても画質が悪い、エラーが出る、など、ImageMagickのトラブル時にこの設定をサーバにすることで改善されることがあります。
なお、ここではサーバはWindows Server 2003を前提としますが、2008でもほとんど差はありません。
【注意】
サーバのセキュリティを緩めるような設定になりますので、自己責任で実行してください。
・IISの匿名認証の権限変更
PHPのimagick->thumbnailimage()などでEPS→JPEG変換(ベクターからラスターへの変換)を行う際、デフォルトでPHPに与えられている権限ではGhostscriptを正常に動かすことができず、画質が非常に悪くなってしまうため、下記の設定を行いPHPからGhostscriptへのアクセスを許可する。
1. IIS->default web site->匿名認証 をAdministrator権限に変更
2. Administratorのパスワードを入力
・ローカルセキュリティポリシーの割り当て
PHPからexec(convert……)という形でサーバ上のファイルを直接コマンドラインから操作する方法は、PHPでアップロードしたファイルに対しては無効。これはファイルの所有権に関係しているため、IISを介し生成したファイルに適切な所有権を与える必要がある。
管理ツール->ローカルセキュリティポリシー->ユーザー権利の割り当て->
ファイルとその他のオブジェクトの所有権の取得にIIS_WPGとIUSR_R3007を追加。
※Windows Server 2008の場合はIUSRとIIS_IUSRを追加。
なお、ここではサーバはWindows Server 2003を前提としますが、2008でもほとんど差はありません。
【注意】
サーバのセキュリティを緩めるような設定になりますので、自己責任で実行してください。
・IISの匿名認証の権限変更
PHPのimagick->thumbnailimage()などでEPS→JPEG変換(ベクターからラスターへの変換)を行う際、デフォルトでPHPに与えられている権限ではGhostscriptを正常に動かすことができず、画質が非常に悪くなってしまうため、下記の設定を行いPHPからGhostscriptへのアクセスを許可する。
1. IIS->default web site->匿名認証 をAdministrator権限に変更
2. Administratorのパスワードを入力
・ローカルセキュリティポリシーの割り当て
PHPからexec(convert……)という形でサーバ上のファイルを直接コマンドラインから操作する方法は、PHPでアップロードしたファイルに対しては無効。これはファイルの所有権に関係しているため、IISを介し生成したファイルに適切な所有権を与える必要がある。
管理ツール->ローカルセキュリティポリシー->ユーザー権利の割り当て->
ファイルとその他のオブジェクトの所有権の取得にIIS_WPGとIUSR_R3007を追加。
※Windows Server 2008の場合はIUSRとIIS_IUSRを追加。
登録:
投稿 (Atom)