Когда я звоню DataBind()
на DropDownList в ASP.NET 4, он выбрасывает ArgumentNullException:ArgumentNullException когда DataBind() вызывалась на DropDownList
System.ArgumentNullException: Значение не может быть пустым. Имя параметра: Контейнер по System.Web.UI.DataBinder.GetPropertyValue (Object контейнер, String PROPNAME) на System.Web.UI.DataBinder.GetPropertyValue (контейнер Object, String PROPNAME, формат строки) в System.Web .UI.WebControls.ListControl.PerformDataBinding (IEnumerable DataSource) в System.Web.UI.WebControls.ListControl.OnDataBinding (EventArgs е) при System.Web.UI.WebControls.ListControl.PerformSelect() в System.Web .UI.WebControls.BaseDataBoundControl.DataBind() в MyNamespace.MyClass.MyFunction()
Вот мой код:
myDropdown.Items.Clear();
myDropdown.ClearSelection();
myDropdown.Items.Add(new ListItem("-Select-", "-1"));
myDropdown.DataSource = myDataSource; //List<T> of my business objects
myDropdown.DataBind();
Я нашел this forum post, что, кажется, предположить, забирая настройки DataValueField и DataTextField на выпадающем списке, который я настроил в разметке. Когда я делаю это, и изменить вторую к последней строке моего кода на это, так что я до сих пор получить осмысленный текст в опциях:
myDropdown.DataSource = myDataSource.Select(elem => new ListItem(elem.Text, elem.Id));
... она до сих пор не работает. Однако он работает, когда я убираю строку, которая добавляет параметр «-Выбрать-». И он ломается только тогда, когда элемент не выбран до привязки данных.
Что происходит?
Что такое '' хранится? Проверьте, пуст он или нет? –
Rahul
@ Рахул - см. Мой ответ ниже. Я обнаружил, что вызывает ошибку. Причина причины - загадка на данный момент. –