【发布时间】:2010-01-05 18:07:17
【问题描述】:
我使用 Javascript 对列表框中的一些项目进行了重新排序。当我在后面的代码(ASP.NET)中读取回发中的项目时,顺序是原始顺序。 Javascript 操作后如何获得与屏幕显示相同的顺序?
【问题讨论】:
标签: asp.net ajax viewstate client-side webforms
我使用 Javascript 对列表框中的一些项目进行了重新排序。当我在后面的代码(ASP.NET)中读取回发中的项目时,顺序是原始顺序。 Javascript 操作后如何获得与屏幕显示相同的顺序?
【问题讨论】:
标签: asp.net ajax viewstate client-side webforms
只有选定的项目将被发送回服务器,订单将从视图状态中提取(您的 javascript 不会更改)。我不确定你能以这种方式做你想做的事。您可能必须有一个单独的 [隐藏] 字段来告诉服务器事物的顺序。
【讨论】:
您的 JavaScript 必须使用 AJAX 通知服务器重新排列,然后您必须手动跟踪订单。这是相当简单的,但它确实意味着在每个页面加载时重新生成列表框项,而不是依赖于 ViewState。
【讨论】:
使用 JavaScript 代码,您可以将订单存储在隐藏变量中(使隐藏变量成为服务器 HiddenField 变量)并在页面回发到服务器时处理订单。然后,您可以清除这些项目并使用存储在隐藏字段中的此数字序列适当地重新排序它们。这就是 AJAX 控件的作用。
【讨论】: