Использование комбинированного списка AJAX внутри гармошки. Фактически, это управление аккордеоном, вложенное в другой аккордеон, если это может быть проблемой.
Во всяком случае - у меня есть два поля со списком - на первом кажется, что на любой странице обратной передачи выпадающая кнопка, чтобы увидеть список доступных элементов исчезает. На втором его никогда не было.
Вот код:
<asp:AccordionPane ID="Pane1" runat="server" HeaderCssClass="accordionHeader" ContentCssClass="accordionContent" >
<Header>
QUERY VIEW
</Header>
<Content>
<asp:Label ID="lbl_chkOne" CssClass="label" runat="server" Text="By User" ></asp:Label>
<input id="chk_One" type="checkbox" onclick="changePane(0,this)" groupKey="query" />
<asp:Label ID="lbl_chkTwo" CssClass="label" runat="server" Text="All Users" ></asp:Label>
<input id="chk_Two" type="checkbox" onclick="changePane(1,this)" groupKey="query" />
<asp:Label ID="lbl_chkThree" CssClass="label" runat="server" Text="Other" ></asp:Label>
<input id="chk_Three" type="checkbox" onclick="changePane(2,this)" groupKey="query" />
<br />
<br />
<asp:Accordion ID="InnerAccordion" runat="server">
<Panes>
<asp:AccordionPane ID="Pane3" runat="server" Visible="true" >
<Content>
<asp:Panel ID="Panel1" runat="server">
<asp:Label ID="Label2" runat="server" Text="Select a User:"
Style="margin-left:28px" ></asp:Label>
<asp:ComboBox ID="cbox_User" runat="server" AutoCompleteMode="SuggestAppend">
</asp:ComboBox>
<asp:Label ID="Label3" runat="server" Text="Select a Month:"
Style="margin-left:28px" ></asp:Label>
<asp:TextBox ID="txt_Date" runat="server"></asp:TextBox>
<asp:Label ID="Label1" runat="server" Text="Enter a Price:"
Style="margin-left:28px" ></asp:Label>
<asp:TextBox ID="txt_Price" runat="server"></asp:TextBox>
<asp:CalendarExtender ID="CalendarExtender1" runat="server"
TargetControlID="txt_Date"
Format="MMMM yyyy"
OnClientShown="onCalendarShown"
OnClientHidden="onCalendarHidden"
BehaviorID="calendar1" >
</asp:CalendarExtender>
<br />
</asp:Panel>
</Content>
</asp:AccordionPane>
<asp:AccordionPane ID="Pane4" runat="server" Visible="true" >
<Content>
<asp:Panel ID="Panel4" runat="server">
<asp:Label ID="Label10" runat="server" Text="Select a Group:"
Style="margin-left:28px" ></asp:Label>
<asp:ComboBox ID="cbox_Group" runat="server" >
<asp:ListItem Text="All Groups"> </asp:ListItem>
<asp:ListItem Text="Customers" > </asp:ListItem>
<asp:ListItem Text="Employees" > </asp:ListItem>
</asp:ComboBox>
<asp:Label ID="Label11" runat="server" Text="Select a Month:"
Style="margin-left:28px" ></asp:Label>
<asp:TextBox ID="TextBox5" runat="server"></asp:TextBox>
<asp:Label ID="Label12" runat="server" Text="Enter a Price:"
Style="margin-left:28px" ></asp:Label>
<asp:TextBox ID="TextBox6" runat="server"></asp:TextBox>
<br />
</asp:Panel>
</Content>
cbox_User - тот, который сначала отображает кнопку, а затем исчезает при обратной передаче. cbox_Groups - это тот, который никогда не показывает кнопку.
Вот код, который привязывает данные к cbox_User:
protected void BindUsers()
{
IQueryable<AqUser> query = from users in db.AqUser
orderby users.username
select users;
cbox_User.DataSource = query;
cbox_User.DataTextField = "username";
cbox_User.DataValueField = "username";
cbox_User.DataBind();
}
protected void Page_Load(object sender, EventArgs e)
{
db = new DBEntities();
BindUsers();
if (!Page.IsPostBack)
OuterAccordion.Panes[1].Visible = false;
else
OuterAccordion.Panes[1].Visible = true;
}
Я не мог найти много в Интернете об этом, за исключением некоторых постов о том, что это возможно связано с выравниванием divs / css.
Есть идеи?