<asp:LinkButton ID="LinkButton1" runat="server" Text="edit item" onclick='AddItem.aspx?catid=<%# Eval("CollectionID")%>' />
Я удалил лишние кавычки вокруг значения атрибута для OnClick
.
Однако OnClick
ожидает делегата, а не URL. Либо используйте гиперссылку, либо переключитесь на обработчик событий.
<a href='AddItem.aspx?catid=<%# Eval("CollectionID")%>'>edit item</a>
В этой статье показано, как передать аргумент в обработчик события с помощью кнопки ссылки. Вместо использования OnClick
вы можете использовать OnCommand
и установить свойство CommandArgument
.
В разметке
<asp:LinkButton id="lnkEdit"
Text="Edit Item"
CommandArgument='<%# Eval("CollectionID")%>'
OnCommand="lnkEdit_Command"
runat="server"/>
В коде позади
protected void lnkEdit_Command( object sender, CommandEventArgs e )
{
// evaluate e.CommandArgument and do something with it
}
Я предпочитаю использовать URL-адрес вместо командного обработчика событий, когда это возможно, поскольку это устраняет сравнительно дорогую обратную передачу.