ASP: LinkButton и Eval

Я использую ASP: LinkButton внутри ItemTemplate внутри TemplateField в GridView. В качестве аргумента команды для кнопки ссылки я хочу передать идентификатор строки из источника данных, к которому привязан gridview, поэтому я делаю что-то вроде этого:

<asp:LinkButton ID="viewLogButton" CommandName="viewLog" CommandArgument="<%#Eval("ID")%>" Text="View Log" runat="server"/>

К сожалению, в результате получился следующий HTML-код:

<asp:LinkButton ID="viewLogButton" CommandName="viewLog" CommandArgument="3" Text="View Log" runat="server"/>

Кажется, что он правильно анализирует Eval (), но это каким-то образом заставляет его не анализировать тег LinkButton и просто выгружать его как буквальный текст. Кто-нибудь знает:

а) почему это происходит и б) какое хорошее решение этой проблемы?


person sgibbons    schedule 23.02.2009    source источник
comment
‹% # Eval (ID)%› сложно разобрать.   -  person bzlm    schedule 23.02.2009
comment
Можете ли вы опубликовать код. Похоже, ваш LinkButton может быть пойман в элементе управления Literal.   -  person Dillie-O    schedule 23.02.2009


Ответы (1)


Хотя это может и не быть причиной, я обычно определяю это так:

CommandArgument='<%#Eval("ID")%>'

Пожалуйста, опубликуйте оставшуюся часть разметки GridView, так как она не должна этого делать.

person eglasius    schedule 23.02.2009
comment
глупый я, я думаю, цитаты сделали это. Спасибо. Я предполагал, что все шаблоны были проанализированы до фактической разметки asp: * - думаю, нет. - person sgibbons; 23.02.2009
comment
У меня была такая же проблема, и я собирался задать тот же вопрос. - person CJM; 23.09.2009
comment
что бы я делал без StackOverflow! - person Matthew Lock; 01.03.2013
comment
сэр @eglasius, у меня такая же проблема, не могли бы вы мне помочь? stackoverflow.com/questions/37499531/ - person Paolo Duhaylungsod; 28.05.2016