1
在手風琴控制器內部使用AJAX組合框。事實上,如果這可能是一個問題,它將手風琴控制嵌套在另一部手風琴中。AJAX ComboBox - 缺少下拉按鈕
無論如何 - 我有兩個組合框 - 在第一個組合框上,它似乎在任何頁面上回傳下拉按鈕以查看可用項目列表消失。在第二個,它永遠不會在那裏。
下面是代碼:
<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;
}
我找不到太多,除了一些帖子它possibily被涉及到的div/CSS定位這個在互聯網上。
任何想法?
不是一個解決方案,但是由於這種不可預測性,我放棄了AjaxControlToolkit。 DropDownListExtenders不能可靠地填充,因爲事件順序問題越來越難以排除故障,因爲表單變得更加複雜。我會消除任何易於用jQuery替代的東西,比如手風琴窗格。一旦我加速了jQuery,我就再也沒有回頭過,真的很容易。學習曲線一點也不差,特別是當你花費數小時在這類事情上碰壁時。 – 2011-02-24 19:09:05