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

发布于 2024-12-29 08:02:36 字数 265 浏览 0 评论 0原文

ASP 声明:

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

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

LinkBut​​ton 脱花有什么问题? 先感谢您。

ASP Declaration:

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

I get Error:
The server tag is not well formed.

what the problem with LinkButton decloration?
Thank you in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

柠檬色的秋千 2025-01-05 08:02:36
<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 而不是命令事件处理程序,因为它消除了相对昂贵的回发。

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

I removed extraneous quotes around the attribute value for OnClick.

However, OnClick expects a delegate, not a URL. Either use a hyperlink or switch to an event handler.

<a href='AddItem.aspx?catid=<%# Eval("CollectionID")%>'>edit item</a>

This article shows how to pass an argument to an event handler from a link button. Instead of using OnClick, you can use OnCommand and set the CommandArgument property.

In Markup

  <asp:LinkButton id="lnkEdit" 
       Text="Edit Item"
       CommandArgument='<%# Eval("CollectionID")%>'
       OnCommand="lnkEdit_Command" 
       runat="server"/>

In Codebehind

protected void lnkEdit_Command( object sender, CommandEventArgs e )
{
    // evaluate e.CommandArgument and do something with it
}

I favor using a URL versus a command event handler whenever possible as it eliminates a comparatively expensive postback.

∞梦里开花 2025-01-05 08:02:36

您可以通过这些方式传递参数。

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

You can pass param in these way.

<asp:LinkButton ID="LinkButton1" runat="server" Text="edit item" 
PostBackUrl='AddItem.aspx?catid=<%#Eval("CollectionID")%>&catname=<%#Eval("CollectionName")%>' />
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文