私はASP.NETを使用していて、ページにラベルコントロールがあり、jQuery-Commandを入力します
$('#<%= myLabel.ClientID %>').html(content);
.val()はこれで動作しないようです。
どういうわけか、コードビハインドでコンテンツを取得する際に問題があります。コードでは、myLabel.Text-Propertyはまだ空です。
クライアントで値を表示してページで利用できるようにする場合は、次のようにPOSTしたときに分離コードに送信される入力が必要です。
$('#<%= myLabel.ClientID %>').html(content);
$('#<%= myInput.ClientID %>').val(content);
<asp:Label Id="myLabel" runat="server" />
<asp:HiddenField ID="myInput" runat="server" />
コードビハインドで:
myInput.Value
あなたの問題は、ラベル(span
タグとしてレンダリングされる)がasp.netの世界では本質的に読み取り専用であることだと思います。これらは「入力」コントロールとして使用するためのものではないため、クライアント側でのHTMLへの変更は、ViewStateに基づいて値が設定されるサーバー側では無視されます。
求めていることを行うには、AJAXを使用するなどして、サーバーにも変更を通知する必要があります。ここでの唯一の問題は、コードビハインドのajax webmethodsが静的であり、このため、ページのコントロールセットにアクセスして.Text値を変更できないことです。
結局、ニックが言ったように、最も簡単なオプションは隠しフィールドを利用することです。これらは技術的に「入力」コントロールであり、クライアント側で変更されたそれらの値は、必要に応じてサーバーに送信されます。ラベル/スパンと非表示フィールド/入力をクライアントで同期させておく必要があるだけです。
お役に立てれば。