有没有办法将Ajax手风琴索引设置为当前视图以进行自动回发
本文关键字:视图 Ajax 手风琴 设置 索引 有没有 | 更新日期: 2023-09-27 18:33:50
>我有一个Ajax手风琴,我将默认的选定索引设置为-1,因此所有窗格都已关闭。每个窗格都有几个不同的控件,有些控件会执行自动回发,当自动回发发生时,当然所有窗格都会折叠。
那么是否可以将其在页面加载时设置为选定的索引-1,并在回发时将所选索引设置为回发之前的状态?
如果我能澄清我的问题中的任何内容,请告诉我,以及我可以提供的任何代码截图,我会的。 -后面的代码是 C#
谢谢
//My Accordion
<ajaxtoolkit:accordion ID="MyAccordion" runat="Server"
HeaderCssClass="aHeader" HeaderSelectedCssClass="aSelected"
ContentCssClass="aContent" AutoSize="None" FadeTransitions="true"
TransitionDuration="250" FramesPerSecond="40" RequireOpenedPane="false"
SuppressHeaderPostbacks="true" Height="894px" style="margin-right: 23px"
Width="717px">
//Page Load Event
protected void Page_Load(object sender, EventArgs e)
{
if (ViewState["SelectedAccordionIndex"] == null)
{
MyAccordion.SelectedIndex = -1;
}
else
{
MyAccordion.SelectedIndex = (int)ViewState["SelectedAccordionIndex"];
}
if (!IsPostBack)
{
LoadPage();
}
}
//drop down list set to auto post back
protected void dropdownlist_SelectedInexChange(object sender, EventArgs e)
{
ViewState["SelectedAccordionIndex"] = MyAccordion.SelectedIndex;
}
为此,我会使用视图状态或查询字符串变量。 在Page_Load
中检查是否存在,如果未将selectedindex
设置为 -1,否则将其设置为视图状态或查询字符串中的值。
当然,在导致回发的区域中,您需要将索引值存储在查询字符串或视图状态中。如果我是你,我会使用视图状态。
URL 中有一个属性 hastag,可让您执行许多操作,例如
http://host/section/accordion <-- default
//Pseudocode
if(hashtag == null)
{
selectedIndex = -1;
}
else
{
selectedIndex = hashtag.value;
}
http://host/section/accordion#1 <-- selectedIndex == 1
http://host/section/accordion#2 <-- selectedIndex == 2
在 JavaScript 中,您可以获得这样的主题标签window.location.hash
您甚至可以在stackoverflow中找到一个例子,例如,当您从菜单中单击某人答案的答案时,向您收取问题专门针对响应和突出显示的费用