asp:列表框值在回发时不可用

时间:2013-09-06 08:59:47

标签: c# asp.net

大家好我有一个asp:listbox,我在页面加载时从我循环遍历的数组填充并添加项目。但是当表单被提交时,该值始终为null。我在表单中添加了另一个值

<asp:ListItem Value="blar" Text="blar"></asp:ListItem>

如果我选择该值,它就会在回发中出现。

下面是填充列表框的页面加载代码

 foreach (string cntry in Countries.CountriesArray())
            {
                YrCountrySelect.Items.Add(new ListItem(cntry, cntry));
                if (Page.IsPostBack && YrCountrySelect.SelectedValue == cntry) YrCountrySelect.SelectedValue = cntry;
            }

有谁知道为什么它没有传递选定的值???

2 个答案:

答案 0 :(得分:2)

仅在第一页PageLoad

上绑定回发
if(!IsPostBack)
{
   //bind your listbox here
}

答案 1 :(得分:0)

SortedDictionary<string, string> objDic = new SortedDictionary<string, string>();
            foreach (CultureInfo ObjectCultureInfo in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
            {
                RegionInfo objRegionInfo = new RegionInfo(ObjectCultureInfo.Name);
                if (!objDic.ContainsKey(objRegionInfo.EnglishName))
                {
                    objDic.Add(objRegionInfo.EnglishName, ObjectCultureInfo.Name);
                }
            }

            foreach (KeyValuePair<string, string> val in objDic)
            {
                country.Items.Add(new ListItem(val.Key, val.Value));//country is dropdownlist name..
            }