如何将参数传递到链接按钮控件中的Eval()

本文关键字:Eval 控件 按钮 参数传递 链接 | 更新日期: 2023-09-27 18:21:35

ASP声明:

 <asp:LinkButton ID="LinkButton1" runat="server" Text="edit item" onclick="'AddItem.aspx?catid=<%# Eval("CollectionID")%>'"></asp:LinkButton>

我得到错误:服务器标记的格式不正确。

LinkButton清理有什么问题?提前谢谢。

如何将参数传递到链接按钮控件中的Eval()

<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>

本文展示了如何从链接按钮向事件处理程序传递参数。您可以使用OnCommand并设置CommandArgument属性,而不是使用OnClick

在标记中

  <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而不是命令事件处理程序,因为它消除了相对昂贵的回发。

您可以通过以下方式传递param。

<asp:LinkButton ID="LinkButton1" runat="server" Text="edit item" 
PostBackUrl='AddItem.aspx?catid=<%#Eval("CollectionID")%>&catname=<%#Eval("CollectionName")%>' />