Datalist - Нет данных привязать к управлению сервером, возможно ли извлечь? - PullRequest
0 голосов
/ 08 февраля 2010

В списке данных вы обычно извлекаете данные строк с помощью FindControl для элемента управления, которому присваивается значение через привязку данных с использованием, скажем, Eval.

Что если в вашем списке данных нет привязки к серверному элементу управления ASP.NET? Он находится в списке данных, "прямо вверх", скажем, в ячейке таблицы или сам по себе.

Вы не можете выполнить FindControl, поэтому возможно ли извлечь значение строки, если оно не связано и не является ключом данных?

Ответы [ 2 ]

1 голос
/ 08 февраля 2010

Если ваше значение находится в DataList, вы все равно можете FindControl его, при условии, что оно находится внутри элемента управления, помеченного runat="server":

<asp:Literal id="ltFixedValue" runat="server">5</asp:Literal>

или даже

<span id="spFixedValue" runat="server">5</span>
1 голос
/ 08 февраля 2010

Я предполагаю, что к вашему списку данных привязаны данные (потому что он рендерит шаблон элемента). Я бы использовал что-то вроде этого в событии OnItemDatabound datalist:

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { myobject obj = (myobject) e.Item.DataItem; }

Как только вы приведете элемент данных, вы сможете извлечь нужное вам значение.

...