如何在asp.net页面上获得元素的样式

How do you get the style of an element on an asp.net page

本文关键字:元素 样式 asp net      更新时间:2023-09-26

我有一个带有手风琴式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的手风琴,那么createchange事件应该能够满足您的需要。

对不起,我没有看到mvc标记。

为了对用户体验的影响最小,您必须使用javascript和cookie(html5存储会显示提示(。

ASP.NET AJAX框架使用隐藏字段来实现这一点;虽然你可能没有使用这个,但hiddens有很多优点。它们可以存储任何类型的数据并在服务器上序列化,它们回发到服务器,并且可以通过匹配名称由操作方法进行处理。

HTH。

您可以很好地将当前显示的div的ID存储在隐藏字段中。当然,这需要一点Javascript,但如果文件是runat="server",您应该能够在服务器端轻松访问它。根据这个值,您可以执行隐藏/显示逻辑。

IMO,隐藏字段仍然是客户端与服务器共享其状态的最简单方式。