1

C# で .NET Framework 1.1 を使用しています。私の問題の説明を以下に示します。

  1. id:= txtFromDateのサーバー側テキスト ボックス コントロールがあります。ビュー ステートが有効で、読み取り専用です。
  2. ページが初めてロードされたとき、上のテキストボックスに現在の日付の値を設定しています。
  3. その後、テキストボックスの値をjQueryで変更します。
  4. 次に、いくつかの __EVENTTARGET パラメータを指定して jQuery を使用してページをポストバックします。
  5. この変更されたテキスト ボックスの値をコード ビハインドで使用しています。

1.1 フレームワークを使用して Windows XP マシン 32 ビットでコードを開発しました。しかし今、サイト全体を .NET 2.0 アプリケーション プールの Windows Server 2008 R2 エディション (64 ビット) に配置しました。

問題:開発マシンでは正常に動作します。しかし、Windows Server 2008 では、jQuery によるテキスト ボックスの値の変更がコード ビハインドに反映されていません。ページが初めてロードされたときに割り当てた古い値を保持します。

このアプリケーションを開発マシンで実行するのと同じように実行したいと考えています。要するに、Windows Server 2008 マシンでもコード ビハインドのテキスト ボックスの値を変更したいと考えています。

ありがとう。

4

5 に答える 5

4

txtFromDate.Textを使用する代わりにRequest.Form[txtFromDate.ClientID]を使用すると問題が解決しました。

于 2013-02-21T08:00:16.057 に答える
1

クライアント側のコントロールに加えた変更は、入力コントロールの値に変更が加えられない限り、サーバーのコード ビハインドからアクセスできません。そのため、javascript/Jquery で変更したいラベルと一緒に hiddenfield を使用して、新しいラベル値を hiddenfield に保存し、分離コードでラベルから値を読み取る代わりに、hiddenfield から読み取ることもできます。

<asp:hiddenfied id="hdnLblValue" runat="server"/>
于 2015-12-28T17:45:32.667 に答える
0
clientIDMode="Static" 

完全に動作します。

于 2013-10-08T10:40:32.717 に答える
0

いつでもset getメソッドを使用してJavaスクリプトから値を保存できますが...しかし、これを解決する簡単な方法があります...

ケース 1 - コントロールが目的を格納するためだけの場合は、そのスタイルに display : none を配置し、コントロールの属性で visible = true を作成します。

ケース 2 - コントロールを表示するが無効モードの場合は、Enabled = true の代わりに ReadOnly="true" を設定します。

例えば..

<asp:textbox runat="server" ID="textbox1" Enabled="false"></asp:textbox> will not work

<asp:textbox runat="server" ID="textbox2" ReadOnly="true"></asp:textbox> will work
于 2013-06-03T19:43:11.567 に答える