Visual Studioには「内部ブラウザ」が装備されている。これのおかげでASP.NETでWebアプリケーションの動作確認を、アプリケーションを切り替えることなくできるので便利。

ただ、この内部ブラウザ、 HTTPリクエストのUserAgent を見る限りInternet Explorer 7になっている。なので、CSS 3のborder-radiusやtext-shadowのかかり具合を見るためにわざわざIE自体や別のブラウザを開く必要がある。

どうもPC自体にはそれより新しいバージョンのIEが入っていてもWebBrowserコントロールのIEコンポーネントは7.0固定のようだ。

これを、IE10にする方法が分かったのでメモ。

フォームのINPUT要素にはValue属性があり、これがサーバーに送信される。ところで、このValue属性に文字数制限はあるのだろうか・・・。

どこかで、TYPE="HIDDEN"には字数制限がない、という記事を見かけたが、それ以外の要素はどうなのか。

試してみた。



VisualStudio 2010のインテリセンス(IntelliSense)でCSS 3を利用する方法は下記のページで紹介されている。

Visual StudioのIntelliSenseでCSS3を利用するには?(@IT)

が、これを適用してスタイルシートファイル(.css)を編集しようとすると、規定値ではCSS 2.1が選択されてしまい、CSS 3固有のスタイルがエラー一覧に警告として表示されてしまう。


ASP.NETでフォームを作り、<asp:Button />でボタンを配置すると、クライアントポストバック用のスクリプトが出力されることがある。

<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['aspnetForm'];
if (!theForm) {
theForm = document.aspnetForm;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>

こういうの。

でも、これが生成される時と、そうでない時があるのが不思議だった。

ASP.NETで提供されているメンバーシップのデータソースにMySQLを使おうとすると、何かと問題に激突しやすい。ので、ちゃんと動ける状態になるまで苦労して解決した内容のメモ。


PHPで日本語などのマルチバイト文字を含む文字列の、正確なバイト数を求める方法。

普通ならstrlen関数で文字コードに関係なく文字列の"バイト数"が取得できるけど、この関数はmb_strlen関数でオーバーロードされる可能性がある。そうなると、返されるのはバイト数ではなく文字数になってしまうので都合が悪い。

bin2hex関数で変換して2で割る方法なんかもあるらしいけど、バイト数を測るために無用な変換をするのもどうかと思うし。

んで、思いついたのが次の方法。


$s = 'あいうabc';
$len = mb_strlen($s, 'US-ASCII');


 $lenの値は、UTF-8環境であれば12 (3byte * 3文字 + 1byte * 3文字)に、EUC-JP/ShiftJIS環境であれば9 (2byte * 3文字 + 1byte * 3文字)になります。US-ASCII文字コードセットにはマルチバイト文字がない、という性質を利用した方法だけども・・・、この方法じゃダメかな?

mb_strlen関数の内部処理がどうなっているか分からないけど、US-ASCIIなら渡される文字列に対する変換処理は行われないのではないかと勝手に思っている。

HTMLを書いていてふと思いついた。


フォームの送信ボタン(type="submit")にidを付加して、labelに関連付ける。

すると、ラベルのクリックが送信ボタンのクリックとして動作するのだが・・・


TwitterのOAuthが面白いので遊んでいた。

無計画にコードを書いていて、見にくくなったので、OAuthに準拠するようにコードを整形していた。

が・・・、整形前はちゃんと動いていたのに、認証が通らなくなった!!!

ASP.NETでアップロードされたファイルをJPEGで保存するという単純なお仕事。

そのままImageFormat.Jpegで保存すると画質がイマイチなので、品質を指定して保存することに。

が、なぜか「使用されたパラメータが有効ではありません。」と言われてしまう・・・。


ASP.NETでフォームのポストバックを組んでいるときに、ViewStateが復元されない現象が発生。

何をやっても復元してくれない・・・。


2時間ほど格闘した結果、なんとか原因を突き止めました。

最近のコメント

アイテム

  • 20091001_02.png
  • 20091001_01.png
  • 20090922_02.png
  • 20090922_01.png

ウェブページ