0

スパンの内容をjavascriptで変更しています。ビューソースによって変更されていることがわかります。

直後にac#関数の内容を取得しようとすると、まだ古い値が残っています。

私の推測では、aspはクライアントに送信したhtmlを表示しているだけであり、javascriptはaspが表示できないクライアントのhtmlを変更していますか?

これはそれを説明する方法についての私の唯一の推測でした。これは正しいでしょうか?

ありがとう。

4

4 に答える 4

3

変更するものがサーバーへの値のPOSTをサポートしていない限り、変更は破棄されます。 <span>はサーバーにPOSTされません。

ただし、INPUTの値を変更すると、サーバーは、ネストページの送信POSTでそれらの新しい値を確認できるようになります(ただし)runat=server

于 2012-06-04T19:19:11.770 に答える
2

ASPXはサーバーサイドです。Javascriptはクライアントサイドです。Webサービスなどにコールバックしない限り、この2つが混ざり合うことはありません。

<span>変更はクライアント上でのみ行われ、サーバーはそれを認識しません。インタラクションをサーバーに戻したい場合は、解決策としてAJAXを検討してください。

于 2012-06-04T19:14:30.407 に答える
1

はい、あなたの推測は正しいです!

Javascriptはクライアント側のみを認識し、ASP.NETはサーバー側のみを認識します。クライアント側で変更を加え、サーバー側でその変更を認識したい場合は、AJAXを利用できます。

詳細については、 Ajaxを参照してください。

.NETでは、Webサービス、コントローラー、またはページを使用してajax呼び出しを受信できます。

于 2012-06-04T19:16:59.503 に答える
1

runat="server"スパンに追加します。これにより、ビューステートによって取得され、ポストバック中に新しい値が使用可能になります。

編集:jrummelとmikemanneによるテストによると、スパンはで装飾されていてもポストバックされませんrunat=server

サーバーで値を一貫して使用できるようにする場合は、スパンの代わりに入力を使用することをお勧めします(他の人が示唆しているように)。

于 2012-06-04T19:19:01.943 に答える