2007年9月アーカイブ

Microsoftから修正プログラム パッケージが出ています。(kb938574)



• 2007 Microsoft Office プログラムで Microsoft Office Input Method Editor (IME) 2007 を使用して日本語の文字を入力します。その文字を漢字に変換すると、以前のバージョンの IME よりも文字の変換に時間がかかることがあります。



• コンピュータを休止状態から再開した後、2007 Microsoft Office プログラムで IME 2007 を使用して日本語の文字を入力します。その文字を漢字に変換しようとしても、変換できません。



詳細情報



DownLoadページ

ASP.NETで、何らかのWebコントロールを使用すると、そのaspxには__VIEWSTATEをいう画面情報を表すパラメータ(input hidden タグ)が生成されます。

このaspxから、別のaspxへ直でPOSTをしたいことがあるのですが、そのままformのaction属性を目標の別aspxへ書き換えるだけでは、ViewStateエラーが発生してしまいます。

このエラーがMAC検証エラーの場合、machine.configのenableViewStateMacをfalseにすることで検証を無効化することもできるのですが、これはセキュリティホールのリスクがあります。

http://support.microsoft.com/kb/829743/ja



結論から言うと、machine.configにてMAC検証を有効化したままで、ViewStateを含むaspxから別aspxへ直接POSTするには、POST前に__VIEWSTATE要素を削除してしまえばいいです。

以下のようなJavascriptで簡単に実現できます。



function post(targetAspx)

{

  var viewState = window.document.getElementById('__VIEWSTATE');

  if(viewState != null) {

    viewState.parentNode.removeChild(viewState);

  }

  

  var f = window.document.forms[0];

  f.action = targetAspx;

  f.submit();

}