こんにちは私はインプレース編集機能を取得しようとしています。ただし、今回はASP.netアプリケーションのマスターページにあります。マスターページに(各Webページのタイトル用の)ラベルコントロールがあります。そして、私のコンテンツページで、ユーザーがそのタイトルを編集できるようにしたいのです。シナリオでは、ユーザーがラベルをクリックしたときにラベルをテキストボックスに変換する必要があります。編集してから、テキストボックスのフォーカスが失われると、更新されたラベルに変換する必要があります。マスターページの内容を変更したくない。それ以外の場合は、マスターページに非表示のテキストボックスを追加して、ラベルに置き換えることができます。しかし、私の懸念は、マスターページを編集せずにこれを実行できるかどうかです。JQuery.replaceWith()
メソッドを使ってみました。しかし、私はJQueryとasp.netを初めて使用します。ありがとうございます。
スティーブンの解決策を試しましたが、オブジェクトがサポートされていないJavascriptランタイムエラーが発生しました。JSコードは次のように与えられます:
<script type="text/javascript" src="../Scripts/jquery-1.4.2.min.js" ></script>
<script type="text/javascript" src="../Scripts/jquery-1.3.2.min.js" ></script>
<script type="text/javascript" src="../Scripts/jquery/jeditable.js" charset="utf-8"> </script>
<script type="text/javascript">
$(document).ready(function() {
$(".click").editable("~/AdminArea/Setup/SetupFixedText.aspx", {
tooltip: "Click to edit...",
style: "inherit"
});
});
</script>
そしてaspxでは、最初にラベルにcalsを割り当てましたが、現在は「b」にラベルを配置しています。
div id = 'lblcontent'
h3 class="BlueHeading"
b class="click" style="display: inline"
asp:Label ID="lblContentTitle" runat = "server" EnableViewState="False"
/asp:Label
/b
/h3
/div
このエディターがhtmlとして使用するため、山括弧を削除しました。