如何在asp.net页面上获得元素的样式
How do you get the style of an element on an asp.net page
我有一个带有手风琴式javascript的管理页面来显示/隐藏div。
<div class="accordion">
<h2>Pending</h2>
<div id="pending" class="accordion-item">PARTIALVIEW</div>
<h2>Current</h2>
<div id="current" class="accordion-item">PARTIALVIEW</div>
<h2>All</h2>
<div id="all" class="accordion-item">PARTIALVIEW</div>
</div>
当他们删除一个项目时,页面会刷新,然后返回到折叠状态。我想让它记住哪些是打开的,哪些是关闭的。
手风琴式javascript提供div style="display: none"
或style="display: block"
有没有一种方法可以在重新加载页面之前得到样式,并在再次加载后应用它?
如果你想在页面上看到风格和变化,我建议你使用Firebug(一个FireFox插件(。
至于拯救国家,有两种方法。第一种是AJAX方法。第二种是只使用JS、基于cookie的方法。
对于AJAX方法,您需要编写一个JS函数,每当状态发生变化时就会触发该函数。然后,该方法在一个快速的后台查询中将所有可折叠选项的状态发送到服务器。然后,服务器将这些信息保存到会话变量中。然后,当页面被重新加载时,服务器可以为页面上的每个项目植入一个具有最后已知状态信息的JS数组。
对于第二个方法,您必须设置一个cookie,该cookie包含一个包含所有项状态的变量。这可以是一个简单的数组。这与AJAX方法的工作原理相同,只是数据保存在客户端浏览器而不是服务器上。您可以从cookie数组而不是服务器数组中获取状态。
对于其中的任何一个,我都建议使用JQuery库。对于cookie方法,我建议使用JQuery的cookie插件(http://plugins.jquery.com/project/Cookie)。下面是一篇关于这方面的快速入门文章:http://jquery-howto.blogspot.com/2010/09/jquery-cookies-getsetdelete-plugin.html
JQuery-http://jquery.com/
JQuery UI-http://jqueryui.com/
Visual JQuery(一个很好的、易于使用的JQuery参考(-http://visualjquery.com/
萤火虫-http://getfirebug.com/
Firefox-(永远不要离开家没有它(http://www.mozilla.com/en-US/firefox/fx/
要实现这一点,我将处理手风琴的change
事件,并将更新的值存储在html5本地存储或cookie中。加载页面时,只需检查保存的值是否存在,并恢复手风琴的状态。
如果您使用的是jqueryui的手风琴,那么create
和change
事件应该能够满足您的需要。
对不起,我没有看到mvc标记。
为了对用户体验的影响最小,您必须使用javascript和cookie(html5存储会显示提示(。
ASP.NET AJAX框架使用隐藏字段来实现这一点;虽然你可能没有使用这个,但hiddens有很多优点。它们可以存储任何类型的数据并在服务器上序列化,它们回发到服务器,并且可以通过匹配名称由操作方法进行处理。
HTH。
您可以很好地将当前显示的div的ID存储在隐藏字段中。当然,这需要一点Javascript,但如果文件是runat="server"
,您应该能够在服务器端轻松访问它。根据这个值,您可以执行隐藏/显示逻辑。
IMO,隐藏字段仍然是客户端与服务器共享其状态的最简单方式。
- 如何提供在javascript中编写对对象的重复访问以设置元素样式的简写
- .clone().appendTo-替换不起作用的元素样式
- 使用JavaScript更改带有窗口高度的元素样式
- Javascript重置元素样式
- 取消:活动元素样式
- 什么是最好的表单元素样式库/插件(jQuery)
- 更改页面滚动上的元素样式
- 动态更新数百万个 DOM 元素样式的最快方法
- 覆盖元素.样式表.css文本
- 在禁用 JavaScript 时添加元素样式
- 确定所有屏幕尺寸的元素样式
- 设置 HEAD 元素样式以将其用作数据存储
- 如何使用带有 % 符号值的 ERB 和 JQuery 修改元素样式属性
- asp.net 高度属性的元素样式问题
- 如何覆盖元素样式,使其无法更改
- 如何使用ng样式单击时更新元素样式
- 使用 jQuery 更新 HTML 元素样式参数值
- 将鼠标悬停在另一个元素上时更改元素样式
- 如何将加载到<对象>中的元素样式设置为数据
- 在jQuery UI对话框中设置元素样式