Пожалуйста, может кто-нибудь сказать мне, как связать
эта переменная NameValueCollection в
мой тег datalist в разметке? Также
дополнительные знания о том, как связать
DataList для набора данных, sqldatareader,
IList <> был бы полезен. Thannks
Я объявляю свой List<ComplexObject>
в своем коде (скажем ... в методе, прикрепленном к OnClick), а затем я сделаю привязку к данным следующим образом:
private void DoDataGetAndBind() {
List<ComplexObject> complexObjects = _dataAccessLayer.GetComplexObjectsMethod(parameter1, parameter2, sortParameter);
datalist1.DataSource = complexObjects;
datalist1.DataBind();
}
Теперь, пожалуйста, поймите, насколько упрощен мой код, я не проводил никаких проверок на ошибки (например, если база данных была удалена или вы не вернули результатов), и я не определил параметры или ComplexObject (потому что я предполагаю, что вы понимаете как эти вещи работают).
В .aspx страницы я бы тогда определил внутри ItemTemplate
полей управления DataList
, где I <%# Eval('ComplexObjectFieldOneName') %>
или <%# Eval('ComplexObjectFieldTwoName') %>
(и т. Д.).
Так дано
public class ComplexObject {
public string MyFirstField {get;set;}
public string MySecondField {get;set;}
}
Я бы определил поля в .aspx как <%# Eval('MyFirstField') %>
и <%# Eval('MySecondField') %>
Хорошо, это было довольно долго, так что я надеюсь, что это действительно помогло.
Еще один момент: вы также можете использовать ObjectDataSources (или производные классы, такие как SqlDataSource и т. Д.) И выполнять все ссылки на .aspx, предполагая, что классы объектов построены правильно. Что-то, чтобы рассмотреть.