ASP.NETの最近のブログ記事

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

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

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

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

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を使おうとすると、何かと問題に激突しやすい。ので、ちゃんと動ける状態になるまで苦労して解決した内容のメモ。


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

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

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


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

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


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

ASP.NETのPageクラスにたくさんあるイベントがどの順番で呼び出されるのか。

また、ポストバックしたあとフォームの各コントロールがどのタイミングで復活するのか。

しょっちゅう忘れるので、備忘録。


Visual StudioでASP.NETのプロジェクトを書いているとき、HTMLエディタでインテリセンスが効かなくなってしまった。

以前にも同じようなことがあり、その時は設定のリセットなどをしてなんとか元に戻ったのだが、今回はできる限りその原因を追究してみようと挑戦してみた。

ASP.NETにおいて、自作のユーザーコントロールを作り、不足している属性をプロパティとして追加することはよくある。中でも、Style属性はその頻度が多い。

Style属性自体は文字列で指定が可能なので、プロパティをString型で定義すればさほど問題ありませんが、コードからStyleプロパティにアクセスしても当然文字列扱い。

ほかのHtmlControlのように、コレクションクラスとしてStyleプロパティを扱うためにはどうすればよいのか。探ってみた。