2009-05-13 32 views
0

私たちは最近、Webアプリケーションを.NET 1.1から.NET 2.0に移行しました。移行:ASP.NET 1.1からASP.NET 2.0への壊れたポストバック

Webアプリケーションは、もともとVisual Studio 2003を使用して.NET 1.1で作成されました。移行するために、ソリューションをVS2005に変換しました。

RESXの非互換性や壊れたカレンダーコントロールなどのマイナーな問題を除けば、Webアプリケーションが機能しました。

しかし、私たちは今日それをテストしましたが、いくつかのポストバック関数が突然破損しました。特に、 "ファイルブラウザ"です。ユーザーがブラウズボタンをクリックすると、新しいウィンドウが開き(カスタムページ)、ファイルをブラウズできるようになり、PATHは親ページに渡されてテキストボックスに保存され、次にポストバックされますパス上でいくつかの検証を行います。ただし、POSTBACKでは、テキストボックスに保存されていたパスがなくなり、 "default"パスに置き換えられました。

ポストバックを破る可能性のある1.1から2.0への移行に注意が必要なことはありますか?

ありがとうございます! :)

答えて

0

これはASP.NET 2.0の設計上の問題です。

私のテキストボックスは読み取り専用に設定されています。この動作はASP.NET 2.0の仕様であり、ReadOnly TextBoxを悪意のあるコードによってクライアント側で変更すべきではないという考えで設計されています。

回避方法: デザイン時にreadonlyプロパティを設定する代わりに、実行時に設定する必要があります。

TextBox1.Attributes.Add( "readonly"、 "readonly");

参考文献: http://www.dotnetspider.com/resources/3120-ASP-NET--TextBox-Ready-Only-losing-client-side-changes-values-across-postback.aspx

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.textbox.readonly.aspx

関連する問題