[英]Drop down list items count is working
我有一個下拉列表,其中具有硬編碼的第一項,其他均由sql數據源綁定。 現在,在C#代碼上,我希望此下拉列表的項始終計數為1(第一個硬編碼列表項)。 而此下拉列表正確顯示了瀏覽器上的所有列表項。 我無法理解確切的問題。
<asp:DropDownList ID="ddlGroup" runat="server" DataSourceID="dsGroupListByUserId"
Width="100px" DataTextField="GroupName" DataValueField="GroupID" AppendDataBoundItems="True">
<asp:ListItem Value="0">N/A</asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="dsGroupListByUserId" runat="server" ConnectionString="<%$ ConnectionStrings:EMSsql %>" SelectCommand="GetGroup_ByEventID" SelectCommandType="StoredProcedure" >
<SelectParameters>
<asp:SessionParameter DefaultValue="0" Name="EventID" SessionField="EventID" Type="Int64" />
</SelectParameters>
</asp:SqlDataSource>
這就是我試圖獲取項目數的方式-
int ItemsCount = ddlGroup.Items.Count;
將您的數據綁定放在!Page.IsPostBack中。
每當頁面回發時,所有內容都會刷新,這就是為什么您的計數為1的原因,因為它是唯一的客戶端列表項。 任何填充的服務器端都需要保留在一個不回發的位置。
If (!Page.IsPostBack)
{
ddlGroup.DataBind();
}
我認為這是因為您沒有在page_Load
使用Page.IsPostBack屬性。
使用IsPostBack
像Page_load
private void Page_Load()
{
if (!IsPostBack)
{
// Bind your dropdown.
}
}
希望對你有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.