c# - 如何获取 asp.net 页面上元素的样式

标签 c# javascript asp.net css asp.net-mvc

我有一个带有 Accordion 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>

当他们删除一个元素时,页面刷新并且他们回到折叠状态。我想让它记住哪些是打开的,哪些是关闭的。

Accordion javascript 给 div style="display: none"style="display: block"

有没有办法在页面重新加载之前获取样式并在再次加载后应用它?

最佳答案

如果您想在页面上主动查看样式和更改,我建议使用 Firebug(一个 FireFox 插件)。

至于保存状态,有两种方法。第一种是 AJAX 方法。第二种是仅 JS,基于 cookie 的方法。

对于 AJAX 方法,您需要编写一个 JS 函数,该函数在状态更改时触发。然后,此方法通过快速的幕后查询将所有可折叠选项的状态发送到服务器。服务器然后将此信息保存到 session 变量中。然后,当页面重新加载时,服务器可以为页面上的每个元素植入一个 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 用户界面 - http://jqueryui.com/
Visual JQuery(一个很棒的、易于使用的 JQuery 引用)- http://visualjquery.com/
Firebug - http://getfirebug.com/
Firefox -(离开家永远离不开它)http://www.mozilla.com/en-US/firefox/fx/

关于c# - 如何获取 asp.net 页面上元素的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6538034/

相关文章:

c# - 我应该如何存储用户指定的一组文件?

javascript - 尝试使用正文解析器从 Express v4 中的 POST 请求解析 JSON 对象

asp.net - 无法解决排序规则冲突?

asp.net - Sourceforge 如何启动基于 javascript 的下载?

c# - 有什么方法可以在 excel (vsto) 中验证单元格值

c# - 如何检索事件的所有方法?

c# - 从 32 位版本迁移到 64 位版本

c# - 为什么 UserPrincipal.Enabled 返回不同的值?

javascript - 如何让jquery函数在div显示在屏幕上时运行

javascript - Angularjs ng-repeat 过滤器适用于 v1.0.1 而不是 v1.3.7