簡體   English   中英

RadComboBox選中的值為空

[英]RadComboBox selected value is empty

當我點擊我的按鈕時,我得到SelectedValue = ""

我的aspx:

<telerik:RadComboBox ID="ddl_contactList" runat="server" AutoPostBack="True" CausesValidation="False"
            CollapseDelay="0" Culture="ar-EG" ExpandDelay="0" Filter="StartsWith" ItemsPerRequest="10"
            MarkFirstMatch="true" Skin="Outlook" EnableAutomaticLoadOnDemand="True" EmptyMessage="-New Menu-"
            ShowMoreResultsBox="True" OnSelectedIndexChanged="ddl_contactList_SelectedIndexChanged"
            EnableItemCaching="false" EnableLoadOnDemand="True" EnableVirtualScrolling="True">
        </telerik:RadComboBox>

我的.cs:

 private void BindContactLists(int year, int main_code)
        {
            ddl_contactList.Items.Clear();
            DataTable dt = ContactList.GetContactListsByDep(year, main_code);
            ddl_contactList.DataSource = dt;
            ddl_contactList.DataTextField = "list_desc";
            ddl_contactList.DataValueField = "list_code";
            ddl_contactList.DataBind();

        }

我在page load調用它,因為當我在!Page.Ispostback調用它時,我收到以下錯誤:

沒有分配的數據源。 無法完成回叫請求。

我該如何解決這個問題? 馬上:

ddl_contactList.Text == "MySelectedItemText"

selectedValue == ""selectedItem == ""

將您的調用從Page_Load()方法移動到BindContactLists()Page_Init()方法。 這允許在頁面生命周期的后期為ViewState綁定設置控件,並允許適當填充SelectedValue屬性。

這是正常的,因為你重新綁定你的數據=>所以你擦除你選擇的值

我建議你設置你的塊!IsPostBack =>你發帖時不要擦除

在PageLoad中

if(! IsPostBack)
{

           ddl_contactList.Items.Clear();
            DataTable dt = ContactList.GetContactListsByDep(year, main_code);
            ddl_contactList.DataSource = dt;
            ddl_contactList.DataTextField = "list_desc";
            ddl_contactList.DataValueField = "list_code";
            ddl_contactList.DataBind();


}

並且您使用ViewState持久控制

設置EnableViewState="true"

在頁面加載或初始化時確保您的數據源像數據集或數據表填充

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM