2009-02-23 8 views
5

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

<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 и просто сбросить его как обычный текст. Кто-нибудь знает:

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

+0

"<% # Eval (" ID ")%>" выглядит сильным для синтаксического анализа. – bzlm

+0

Можете ли вы разместить код. Похоже, что ваш LinkButton может быть пойман внутри элемента управления Literal. –

ответ

9

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

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

Пожалуйста, пост остальную часть наценки GridView, так как она не должна делать это.

+1

глупо меня, я думаю, цитаты это сделали. Благодарю. Я предположил, что все шаблоны были проанализированы до фактической asp: * markup - предположим, нет. – sgibbons

+0

У меня была такая же проблема, и я собирался задать тот же вопрос. – CJM

+0

что бы я делал без StackOverflow! –

Смежные вопросы