1

ASP.netでc#を使用して移動可能なオプション(ドラッグ可能)を使用してJqueryを使用して1つのパネルで動的コントロールを作成しました。現在、要件は、作成ボタンをクリックしてそのパネルを別のhtmlページとして保存する必要があるようなものです。そして、私はユーザーに表示する必要があります。そのパネルで変更が行われた場合(コントロールの追加)、それを保存する必要があります。

function AddLabel() { 
    var idl = document.getElementById('Autolbl').value; 
    var Panel = $('#cntpnl'); 
    Panel.append("<br /><label id=Llb" + idl 
       + " title='Click Properties Tab to Change the Text' 
         onmouseup='MLup(this.id)'             
         onmousedown='MLdown(this.id)'> Label </label>"); 

    var draglbl = "Llb" + idl; 

    $(function () { 
        $("#"+draglbl).draggable({ cancel: null }); 
    }); 

    idl++; 

    document.getElementById('Autolbl').value = idl; 
    return false; 
}
4

1 に答える 1

0

このようなボタンと非表示フィールドをページに追加します

<asp:Button ID="btnCreate" runat="server" Text="Create HTML Page"         onclick="btnCreate_Click" />

<input type="hidden" id="txtHTML" runat="server"/>

ページの下部に次のJavaScriptコードを追加します

$(document).ready(function () {
               $("#<%=btnCreate.ClientID %>").click(function () {
                   $("#<%=txtHTML.ClientID %>").val($("#cntpnl").html());
                   return true;
               });
           });

[HTMLページの作成]ボタンのサーバー側コード

var html = txtHTML.Value.ToString();
System.IO.File.WriteAllText(@"C:\Temp\Test.htm", html);

ページディレクティブでValidateRequest="false"を設定することを忘れないでください。そうしないと、ポストバックは例外を通過します。

私はこのアプローチがまったく好きではありませんが、あなたはすでにこの方法で自分のことを開発していると思います。

于 2012-10-12T07:41:27.123 に答える