2012-03-15 20 views
3

asp.netのviewstateにはのコントロールプロパティのポストバック値が格納されています。 は、私は、テキストボックスAsp.net Viewstateはコントロールのスタイルを保存していません

<asp:TextBox ID="fldFileId" runat="server"></asp:TextBox> 

を持っているページがあり、その後、javascriptを介してクライアント側では、私は要素への参照を取得し、その後、thusly時

refToTextBox.style["border-style"] = "dashed"; 

を境界線スタイルを設定するとしましょうポストバックでは、境界線のスタイルが破棄され、テキストボックスが元の外観に戻ります。しかし、VS2010のasp:TextBoxのプロパティを見ると、の 'BorderStyle'プロパティです。 この属性がビューステートに保存されない理由はありますか?

答えて

2

クライアント側の値を設定してもViewStateは更新されません。 ViewStateがサーバー側にスタイルを格納するように設定する必要があります。または、次のようにしてください。

  1. ポストバック後にJavaScriptを再実行してください。
  2. スタイリングをクッキーに格納し、JavaScriptを使用してスタイルを復元します。
  3. クライアント側でViewStateを変更するためのJavaScriptライブラリを見つける (推奨しません)。
+1

この値はサーバー側に送信されるためです。コードビハインド( 'Request.Form(MyTextBox.UniqueID)')の 'Request.Form'オブジェクトをチェックして値を確認してください。 – pete

+0

ありがとう、私はこのコメントを投稿してから数分後にこれを認識し、それを削除することに決めました。記録のために、コメントは「なぜ私がテキストボックスに入力する値がポストバックの後も存続するのか」であった。 – x1886x

関連する問題