ASP声明:
<asp:LinkButton ID="LinkButton1" runat="server" Text="edit item" onclick="'AddItem.aspx?catid=<%# Eval("CollectionID")%>'"></asp:LinkButton>
我收到错误: 服务器标签格式不正确。
LinkButton decloration有什么问题? 提前谢谢。
答案 0 :(得分:7)
<asp:LinkButton ID="LinkButton1" runat="server" Text="edit item" onclick='AddItem.aspx?catid=<%# Eval("CollectionID")%>' />
我删除了OnClick
。
但是,OnClick
需要委托,而不是网址。使用超链接或切换到事件处理程序。
<a href='AddItem.aspx?catid=<%# Eval("CollectionID")%>'>edit item</a>
This article显示了如何从链接按钮将参数传递给事件处理程序。您可以使用OnClick
并设置OnCommand
属性,而不是使用CommandArgument
。
标记
<asp:LinkButton id="lnkEdit"
Text="Edit Item"
CommandArgument='<%# Eval("CollectionID")%>'
OnCommand="lnkEdit_Command"
runat="server"/>
在Codebehind中
protected void lnkEdit_Command( object sender, CommandEventArgs e )
{
// evaluate e.CommandArgument and do something with it
}
我倾向于尽可能使用URL与命令事件处理程序,因为它消除了相对昂贵的回发。
答案 1 :(得分:2)
你可以通过这种方式传递参数。
<asp:LinkButton ID="LinkButton1" runat="server" Text="edit item"
PostBackUrl='AddItem.aspx?catid=<%#Eval("CollectionID")%>&catname=<%#Eval("CollectionName")%>' />