C# 如何获取asp.net页面上元素的样式
我有一个带有手风琴javascript的管理页面来显示/隐藏divC# 如何获取asp.net页面上元素的样式,c#,javascript,asp.net,css,asp.net-mvc,C#,Javascript,Asp.net,Css,Asp.net Mvc,我有一个带有手风琴javascript的管理页面来显示/隐藏div <div class="accordion"> <h2>Pending</h2> <div id="pending" class="accordion-item">PARTIALVIEW</div> <h2>Current</h2> <div id="current" class="accordion-ite
<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提供divstyle=“display:none”
或style=“display:block”
有没有办法在重新加载页面之前获取样式并在再次加载页面后应用它?要实现这一点,我将处理accordion的
更改事件,并将更新的值存储在html5 localstorage或cookie中。加载页面时,只需检查保存的值是否存在,并恢复手风琴的状态
如果您使用的是jqueryui的手风琴,创建
和更改
事件应该可以满足您的需要。很抱歉,我没有看到mvc标记
您必须使用javascript和Cookie来实现这一点,以尽量减少对用户体验的影响(html5存储将出现提示)。您可以很好地将当前显示在隐藏字段中的div的ID存储起来。当然,这需要一点Javascript,但如果该字段是runat=“server”
,您应该能够在服务器端轻松访问它。根据该值,您可以执行隐藏/显示逻辑
在我看来,隐藏字段仍然是客户端与服务器共享其状态的最简单方式。ASP.NET AJAX框架使用隐藏字段来实现这一点;虽然您可能没有使用此功能,但Hidden有许多优点。它们可以存储任何类型的数据并在服务器上进行序列化,它们可以回发到服务器,并且可以由操作方法通过匹配名称进行处理
HTH.如果您想在页面上看到样式和变化,我建议您使用Firebug(FireFox插件)
至于拯救国家,有两种方法。第一种是AJAX方法。第二种方法是只使用JS,基于cookie的方法
对于AJAX方法,您需要编写一个JS函数,该函数在状态发生更改时触发。然后,该方法通过一个快速的幕后查询将所有可折叠选项的状态发送给服务器。然后,服务器将此信息保存到会话变量中。然后,当重新加载页面时,服务器可以植入一个JS数组,其中包含页面上每个项目的最后已知状态信息
对于第二种方法,必须设置一个cookie,该cookie包含一个具有所有项状态的变量。这可以是一个简单的数组。这与AJAX方法的工作原理相同,只是数据保存在客户端浏览器而不是服务器上。您从cookie数组而不是服务器数组获取状态
对于其中任何一个,我都建议使用JQuery库。对于cookie方法,我建议使用用于JQuery的cookie插件(http://plugins.jquery.com/project/Cookie). 下面是一篇关于此的快速入门文章:
JQuery-
JQuery用户界面-
可视化JQuery(JQuery的一个好的、易于使用的参考)-
萤火虫-
Firefox-(永远不要离开家中没有它)
这将需要javascript。您可能需要在中添加该标记。您需要支持哪个版本的IE(如果有)?