从ASP.NET获取动态创建的标记(jQuery)

Luk*_*sik 1 asp.net jquery

我在ASP.NET中有网页.我用jQuery创建了Tree View控件.我从树中拖动项目并放入div元素.

<div id="rows" runat="server" class="droppable">
</div>
Run Code Online (Sandbox Code Playgroud)

我使用jQuery中的.append函数向该div添加项目.

$(".droppable").append(event.originalTarget.innerHTML);
Run Code Online (Sandbox Code Playgroud)

它像我想要的那样工作.但现在我想从ASP.NET代码中获取所有被删除的项目.我使用以下代码:

protected void Button2_Click(object sender, EventArgs e)
{
    HtmlGenericControl control = (HtmlGenericControl)Page.FindControl("rows");
    Label1.Text = control.InnerHtml;
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我也试过InnerText函数,但仍然没有.我还将按钮和标签控件放入UpdatePanel,这样页面就不会刷新,我的删除项仍然在div元素中.

如何从ASP.NET代码中获取动态添加的项目.

卢卡斯

Cre*_*esh 6

您的append()调用只是更改了DOM结构.ASP.NET不知道你这样做了.

您需要将更改存储到页面上隐藏的"状态"字段中,并在代码隐藏中将其删除.

var droppedItem = event.originalTarget;
$(".droppable").append(droppedItem.innerHTML);
$("#myHiddenStateField").get(0).value += "," + droppedItem.id;
Run Code Online (Sandbox Code Playgroud)

代码背后:

string[] droppedItemIds = myHiddenStateField.Value.Split(",");
Run Code Online (Sandbox Code Playgroud)