asp.net Holen Sie sich die html-Steuerelemente im code hinter

Wenn ich ändern das html auf einer Seite mit Hilfe von JavaScript, wie kann ich diese änderungen in meine ASP.NET code hinter?

Fand ich einige dhtml-drag-and-drop" - code online (http://www.dhtmlgoodies.com/scripts/drag-drop-nodes/drag-drop-nodes-demo2.html), aber nach dem Umzug Liste von Elementen von einem Steuerelement zu einem anderen, ich weiß nicht, wie "Zugang" jedes Steuerelement in der code-behind-ich kann also speichern Sie die Liste Elemente, die in jedem control.

Habe ich versucht mit dem HTML-Agility-pack, aber es scheint, wie ich bin nur in der Lage, den Zugriff auf die unveränderte html - das bedeutet, alle Bedienelemente sind leer.

Jede Hilfe/Vorschläge dankbar. Oder irgendwelche Vorschläge für einen besseren Weg, dies zu erreichen, sind willkommen (jQuery? Ajax-Toolkit?).

BEARBEITEN:
Hier finden Sie den code. Ich bin in der Lage, füllen Sie ein ASP-Steuerelement Label (_saveContent), aus der JavaScript-Funktion saveDragDropNodes, mit der "ul-ID" und die entsprechende "li" Steuerungen, die habe ich gezogen. Wenn Sie auf die Schaltfläche speichern allerdings, mein Label-Steuerelement enthält nicht mehr alle Text...

function saveDragDropNodes() {
        var saveString = "";
        var uls = dragDropTopContainer.getElementsByTagName('UL');
        for (var no = 1; no < uls.length; no++) {   //LOoping through all <ul>
            var lis = uls[no].getElementsByTagName('LI');
            for (var no2 = 0; no2 < lis.length; no2++) {
                if (saveString.length > 0) saveString = saveString + ";";
                saveString = saveString + uls[no].id + '|' + lis[no2].id;
            }
        }
        document.getElementById("<%=_saveContent.ClientID %>").innerHTML = saveString.replace(/;/g, ';<br>');
    }
  <div id="dhtmlgoodies_dragDropContainer">
    <div id="dhtmlgoodies_listOfItems">
        <div>
            <p>
                Available Items</p>
            <ul id="allItems" runat="server">
            </ul>
        </div>
    </div>
    <div id="dhtmlgoodies_mainContainer">
        <div>
            <p>
                Group 1</p>
            <ul id="_ul1">
            </ul>
        </div>
        <div>
            <p>
                Group 2</p>
            <ul id="_ul2">
            </ul>
        </div>
    </div>
    <asp:Label ID="_lSave" runat="server" ForeColor="Red" EnableViewState="false" />
</div>
<div id="footer">
<span onmouseover="saveDragDropNodes()">
    <asp:Button ID="_btnSave" runat="server" Text="Save Groups" OnClick="_btnSave_OnClick" /></span>
</div>
<ul id="dragContent">
</ul>
<div id="dragDropIndicator"></div>
<asp:Label ID="_saveContent" runat="server" />

Code Hinter:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
    If Not Page.IsPostBack Then
        GetItems()
    End If
End Sub
Private Sub GetItems()
    Dim dt As DataTable = DbHelper.GetDataTableForSP("GetListOptions")
    Dim index As Integer = 1
    For Each _row As DataRow In dt.Rows
        Dim _li As New HtmlGenericControl("li")
        _li.ID = _row("ClassId")
        _li.Attributes.Add("runat", "server")
        _li.InnerHtml = String.Format("{0}) {1} {2}", index, _row("ClassId"), _row("ClassDescription1"))
        allItems.Controls.Add(_li)
        index += 1
    Next
End Sub
Private Sub SaveGroups()

    Dim str As String = _saveContent.Text /*No text here */
    _lSave.Text = "Groups Saved!"
    GetItems()
End Sub
  • Sagen Sie, dass Sie brauchen, um Bearbeiten Sie die html-Datei auf den client und dann wollen schicken Sie es zurück auf den server?
  • ja. Ich bin Bearbeiten von html über JavaScript, und ich bin der Hoffnung, dann speichern Sie die bearbeitete html-von der server-Seite code.
  • Auf eine button-click-Ereignis? Oder was wollen Sie auslösen, das speichern auf dem server?
  • Ich bin der Hoffnung, speichern Sie Sie auf eine Schaltfläche klicken, nachdem der Benutzer bewegt hat, alle Ihre Elemente, um die richtige <ul>
  • Ich bearbeitet meine Antwort auf eine Schaltfläche click-Ereignis-handler.
InformationsquelleAutor Mark B | 2011-09-27
Schreibe einen Kommentar