C# 有没有办法将Ajax手风琴索引集设置为当前视图,以便自动回发?
我有一个Ajax手风琴,我的默认选择索引设置为-1,所以所有窗格都关闭。每个窗格都有几个不同的控件,有些控件执行自动回发,当自动回发发生时,当然所有窗格都会折叠 那么,在页面加载时是否将其设置为选定的索引-1,在回发时是否将选定的索引设置为回发之前的索引 如果我能澄清我的问题,让我知道,以及如果有任何代码狙击手我可以提供我会-后面的代码是c# 多谢各位C# 有没有办法将Ajax手风琴索引集设置为当前视图,以便自动回发?,c#,asp.net,accordion,C#,Asp.net,Accordion,我有一个Ajax手风琴,我的默认选择索引设置为-1,所以所有窗格都关闭。每个窗格都有几个不同的控件,有些控件执行自动回发,当自动回发发生时,当然所有窗格都会折叠 那么,在页面加载时是否将其设置为选定的索引-1,在回发时是否将选定的索引设置为回发之前的索引 如果我能澄清我的问题,让我知道,以及如果有任何代码狙击手我可以提供我会-后面的代码是c# 多谢各位 //My Accordion <ajaxtoolkit:accordion ID="MyAccordion" runat="Server
//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;
}
//我的手风琴
//页面加载事件
受保护的无效页面加载(对象发送方、事件参数e)
{
如果(ViewState[“SelectedAccordionIndex”]=空)
{
MyAccordion.SelectedIndex=-1;
}
其他的
{
MyAccordion.SelectedIndex=(int)视图状态[“SelectedAccordionIndex”];
}
如果(!IsPostBack)
{
LoadPage();
}
}
//下拉列表设置为自动回发
受保护的void dropdownlist\u selectedExchange(对象发送方,事件参数e)
{
ViewState[“SelectedAccordionIndex”]=MyAccordion.SelectedIndex;
}
对此,我将使用viewstate或query string变量。在页面中\u Load
检查其中一个是否存在,如果不存在,则将selectedindex
设置为-1,否则将其设置为viewstate或查询字符串中的值
当然,在导致回发的区域中,您需要将索引值存储在查询字符串或viewstate中。如果我是你,我会使用viewstates。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
http://host/section/accordion 我目前正在将其写入我的代码中。我在页面中有一个if,load looking if null设置为-1,else执行以下操作:MyAccordion.SelectedIndex=(int)ViewState[“SelectedAccordionIndex”];但现在我没有选择索引,它总是将其设置为0,忽略我的代码。有什么建议吗?感谢您在您的页面中加载删除视图状态[“SelectedAccordionIndex”]=MyAccordion.SelectedIndex代码>这属于导致回发的位置,例如提交或添加的某个代码我删除了所选索引以便可以检查空值,它默认为所选索引0 nook,它确实默认为-1,就像我正在寻找的那样。现在,我得到了自动后回到工作,是自动后回到主页上的主要原因。我会尽快更新。谢谢,只要我确认你的答案正确,我就会检查你的答案。如果我正确理解了你的帖子,我应该有:ViewState[“SelectedAccordionIndex”]=MyAccordion.SelectedIndex;在导致回发的原因中,这是否正确?如果是这样,则此方法无法正常工作