2017-11-10 16 views
0

asp.netのページには、国のリストが含まれています。 ページがロードされると、データテーブルをドロップダウンリストにバインドしました。 ページが読み込まれると、すべての国リストがドロップダウンリストに入力されます。 次に、ページを更新すると、インドのみがドロップダウンリストに入力されます。前もって感謝します。ここでドロップダウンリストの項目が失われ、ページがリフレッシュされた後にasp.netのドロップダウンリストに1つの項目しか入っていません。

は、コードは次のとおりです。 デザイン:後ろに

<asp:DropDownList ID="ddlCountry" runat="server" TabIndex="7" 
    placeholder="by Country" AutoPostBack="true" 
OnSelectedIndexChanged = "ddlCountry_SelectedIndexChanged"> 
</asp:DropDownList> 

コード:

DataSet CountryMasters =Global.DsCountry;//(DataSet)Application["CountryMasters"]; 
DataTable dtcountry = CountryMasters.Tables[0]; 
ddlcountry.Items.Clear(); 

ddlcountry.DataSource = dtcountry; 

ddlcountry.DataTextField = "CountryName"; 
ddlcountry.DataValueField = "CountryCode"; 
ddlcountry.DataBind(); 
ddlcountry.Items.Insert(0, new ListItem("Select", "")); 
+0

ページが更新されたとはどういう意味ですか?何かボタンをクリックしたり、何か他のものをクリックしてページをポストバックすることはできますか? – Sunil

+0

また、あなたが与えたコードビハインドはどのイベントですか? – Sunil

答えて

0

は、フォームがポストバックされている場合は、条件をチェックして、あなたの初期化コードをラップしてみます。

if (!this.IsPostBack) 
{ 
    DataSet CountryMasters =Global.DsCountry;//(DataSet)Application["CountryMasters"]; 
    DataTable dtcountry = CountryMasters.Tables[0]; 
    ddlcountry.Items.Clear(); 

    ddlcountry.DataSource = dtcountry; 

    ddlcountry.DataTextField = "CountryName"; 
    ddlcountry.DataValueField = "CountryCode"; 
    ddlcountry.DataBind(); 
    ddlcountry.Items.Insert(0, new ListItem("Select", "")); 
} 
+0

私はこのように、ページのロードイベントのポストバックイベント内でのみ行っています。 –

関連する問題