gpt4 book ai didi

asp.net - 在 ASP.NET 中跟踪动态创建的 DOM 元素的方法

转载 作者:行者123 更新时间:2023-11-29 22:41:23 25 4
gpt4 key购买 nike

假设您在 ASP.NET 中有一个页面,使用 JavaScript/jQuery 修改 DOM 的值是有意义的,这些值最终将在提交时由服务器读取。例如,您有一个允许最终用户添加/删除对象的表单(例如健康保险表上的受抚养人或贷款申请上的 Assets )。

有哪些方法可以确保在提交信息后服务器检测并检索到这些项目?

我已经尝试了一些有效的方法,但似乎没有一个是完美的,所以我想看看社区必须提供什么。

此外,我并不是在寻找避免动态 DOM 元素的建议(例如使用向导等)。我专门尝试使用动态创建的 DOM 元素来改进我的技术。

最佳答案

有两种方法可以做到这一点:

首先:只发布提交时的信息。只要您将 nameid 属性添加到 DOM 中的每个元素,每个元素都会在 Request.Form 中表示,因此您可以轻松地遍历此集合。

我倾向于使用 insurance_row_1insurance_row_2 等命名约定。您可以找到所有行,例如 Request.Form.AllKeys.Where(k=>k.StartsWith("insurance_row_"))


当您想在服务器上保存所有操作时:

在 javascript 中维护一个状态容器,它在一些类似字典的控件中保存信息,您可以在其中放置应用程序执行的每个操作,以及服务器是否已处理它们的状态。像这样的东西:

var stateContainer = [ 
{ 'put-insurance-row-1', false },
{ 'delete-insurance-row-1', false }
];

向服务器发出 AJAX 请求以执行此类操作,并使用状态容器的键来跟踪请求是成功还是失败。成功提交请求后,将状态设置为“true”。确保按照接收事件的顺序执行此操作,因此将它们一个接一个地发送到服务器以确保保持有效状态。

如果某些状态尚未持久化,您可以(尝试)阻止关闭浏览器。

关于asp.net - 在 ASP.NET 中跟踪动态创建的 DOM 元素的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2523331/

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