繁体   English   中英

在 ASP.NET 的中继器中为 LinkBut​​ton 设置额外的属性

[英]set an extra property for LinkButton in a repeater in ASP.NET

我有一个中继器,里面有一个链接按钮。 我想在链接的按钮单击事件中获取一些数据。 我应该如何设置我的额外数据并在点击事件中获取它们? (考虑到我想在我的财产中连接一些项目)

aspx代码:

<asp:Repeater ID="rpSliderRest" runat="server">
    <ItemTemplate>
        <!-- ITEM-->
        <div class="span2">
            <div class="thumbnail product-item">
                <img src='<%#   Eval("PrintTemplate_URL").ToString().Replace("~", "../..") %>'>
            </div>
            <h6><%# Eval("PrintTemplate_Desc") %></h6>
            <asp:LinkButton ID="lbtn1" runat="server" class="btn btn-large btn-block" OnClick="LinkButton1_Click"
                Prperty='<%# string.Format("{0};{1}",Eval("PrintTemplate_URL").ToString(),Eval("PrintTemplate_ID").ToString()) %>'>Select »</asp:LinkButton>
        </div>
        <!-- ITEM-->
    </ItemTemplate>
</asp:Repeater>

aspx.cs 代码:

protected void LinkButton1_Click(object sender, EventArgs e)
{
    LinkButton lbtn = sender as LinkButton;
    string MyProperty=??????????
}

您可以使用Attributes集合。

例如:

protected void LinkButton1_Click(object sender, EventArgs e)
{
    LinkButton lbtn = sender as LinkButton;
    String MyProperty = lbtn.Attributes["PropertyName"];
}

就我个人而言,我会沿着使用链接按钮 commandArgument 属性的路线走下去 - 因为这就是它的用途。

所以:

     <asp:LinkButton ID="lbtn1" runat="server" class="btn btn-large btn-block" OnClick="LinkButton1_Click"
            CommandArgument='<%# string.Format("{0};{1}",Eval("PrintTemplate_URL").ToString(),Eval("PrintTemplate_ID").ToString()) %>'>Select »</asp:LinkButton>

然后

 protected void LinkButton1_Click(object sender, EventArgs e)
{
    LinkButton lbtn = sender as LinkButton;
    string MyProperty= lbtn.CommandArgument;
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM