gpt4 book ai didi

javascript - 在 ASP.NET 代码隐藏中访问客户端修改的 HTML

转载 作者:行者123 更新时间:2023-12-03 11:27:33 24 4
gpt4 key购买 nike

有没有办法让 aspx 页面的代码隐藏访问修改后的 html?

例如,我有一个空的 runat="server"无序列表,在“queue.aspx”上看起来像这样

<ul runat="server" id="sortableQueue" class="sortable" >
</ul>

然后我使用代码隐藏“queue.aspx.cs”填充它

HtmlGenericControl li_item1 = new HtmlGenericControl("li");
li_item1.InnerText = "Shot Name - 1";
li_item1.Attributes["style"] = "cursor: move";
li_item1.Attributes["data-shotid"] = "1";
sortableQueue.Controls.Add(li_item1);

HtmlGenericControl li_item2 = new HtmlGenericControl("li");
li_item2.InnerText = "Shot Name - 2";
li_item2.Attributes["style"] = "cursor: move";
li_item2.Attributes["data-shotid"] = "2";
sortableQueue.Controls.Add(li_item2);

接下来,用户可以使用 html5sortable 对这些列表项重新排序。 。这工作正常,并且修改了页面的 html。

然后我尝试在“queue.aspx.cs”中读取更改后的html,以便将它们保存到数据库中。

protected void btnSaveQueue_Click(object sender, EventArgs e)
{
int count = sortableQueue.Controls.Count;
for (int p = 1; p <= count - 1; p++)
{
HtmlGenericControl li_item = (HtmlGenericControl)sortableQueue.Controls[p];
Response.Write(li_item.Attributes["data-shotid"]); //for testing purposes
}
}

不幸的是,这个函数读取的 html 与 html5 重新排序之前的一样。例如,如果我交换了第 1 项和第 2 项的位置,我会期望该函数写入“21”。

相反,它会写“12”,就好像没有任何修改一样。

无论如何,问题的详细描述,但我愿意接受有关如何使我的方法发挥作用的任何建议,或者实现可重新排序的拖放列表的相同功能的替代方法。

最佳答案

ASP.net 和 Web 表单仍然使用 HTTP 的基础知识,通常通过表单发回服务器。将信息传回服务器的唯一方法是在 HTML 表单输入元素中或在查询字符串中。

尽管 ASP.net 公开服务器端元素/控件,但要将信息保留回服务器,您需要使用表单元素。 ASP.net杠杆<input type="hidden" />保留 View 状态等。使用隐藏字段来存储有关重新排序列表的新索引的信息。使用 html5sortables sortuptate将所述信息放入隐藏字段的事件。

关于javascript - 在 ASP.NET 代码隐藏中访问客户端修改的 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26857526/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com