Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有没有办法将Ajax手风琴索引集设置为当前视图,以便自动回发?_C#_Asp.net_Accordion - Fatal编程技术网

C# 有没有办法将Ajax手风琴索引集设置为当前视图,以便自动回发?

C# 有没有办法将Ajax手风琴索引集设置为当前视图,以便自动回发?,c#,asp.net,accordion,C#,Asp.net,Accordion,我有一个Ajax手风琴,我的默认选择索引设置为-1,所以所有窗格都关闭。每个窗格都有几个不同的控件,有些控件执行自动回发,当自动回发发生时,当然所有窗格都会折叠 那么,在页面加载时是否将其设置为选定的索引-1,在回发时是否将选定的索引设置为回发之前的索引 如果我能澄清我的问题,让我知道,以及如果有任何代码狙击手我可以提供我会-后面的代码是c# 多谢各位 //My Accordion <ajaxtoolkit:accordion ID="MyAccordion" runat="Server

我有一个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;
    }
//我的手风琴
//页面加载事件
受保护的无效页面加载(对象发送方、事件参数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;在导致回发的原因中,这是否正确?如果是这样,则此方法无法正常工作