web-dev-qa-db-ja.com

Label.Textを埋める方法-jQueryを介したプロパティ

私はASP.NETを使用していて、ページにラベルコントロールがあり、jQuery-Commandを入力します

$('#<%= myLabel.ClientID %>').html(content);

.val()はこれで動作しないようです。

どういうわけか、コードビハインドでコンテンツを取得する際に問題があります。コードでは、myLabel.Text-Propertyはまだ空です。

22

クライアントで値を表示してページで利用できるようにする場合は、次のようにPOSTしたときに分離コードに送信される入力が必要です。

$('#<%= myLabel.ClientID %>').html(content);
$('#<%= myInput.ClientID %>').val(content);

<asp:Label Id="myLabel" runat="server" />
<asp:HiddenField ID="myInput" runat="server" />

コードビハインドで:

myInput.Value
36
Nick Craver

あなたの問題は、ラベル(spanタグとしてレンダリングされる)がasp.netの世界では本質的に読み取り専用であることだと思います。これらは「入力」コントロールとして使用するためのものではないため、クライアント側でのHTMLへの変更は、ViewStateに基づいて値が設定されるサーバー側では無視されます。

求めていることを行うには、AJAXを使用するなどして、サーバーにも変更を通知する必要があります。ここでの唯一の問題は、コードビハインドのajax webmethodsが静的であり、このため、ページのコントロールセットにアクセスして.Text値を変更できないことです。

結局、ニックが言ったように、最も簡単なオプションは隠しフィールドを利用することです。これらは技術的に「入力」コントロールであり、クライアント側で変更されたそれらの値は、必要に応じてサーバーに送信されます。ラベル/スパンと非表示フィールド/入力をクライアントで同期させておく必要があるだけです。

お役に立てれば。

8
KP.