如何在点击h

时间:2015-09-01 09:58:18

标签: c# asp.net eval href

在我的项目中,我有不同类型的照明类别。每个类别都有自己的ID。现在在我的UI中,如果我选择特定类别,其图片应显示在转发器中。我不知道如何在href标签中提供ID。

我的HTML:

<ul class="filter text-center">
            <li><a data-cat="all" href="#All" class="active">All</a></li>
            <li><a data-cat="Dynamite" href="#DynamiteLounge">Dynamite Lounge</a></li>
            <li><a data-cat="Morsel" href="#Morsel">The Morsel Restaurant & Banquet</a></li>
            <li><a data-cat="Shagun" href="#Shagun">Shagun Hotel</a></li>
            <li><a data-cat="Shops" href="#Shops">Shops</a></li>
            <li><a data-cat="Bunglows" href="#Bunglows">Bunglows</a></li>
        </ul>

<div class="bf-single-item" id="All">
        <asp:PlaceHolder ID="plcAll" runat="server">
        <asp:Repeater ID="rptrAll" runat="server">
        <ItemTemplate>
        <div class="bf-single-item">
        <asp:Image ID="imgAll" runat="server" ImageUrl='<%# Eval("ImageAll")%>' />
        <div class="caption">
                        <%--<div class="cap-in">
                            <h3>
                                CN Lighting</h3>
                                <div class="bflink-preview">
                                <a href='<%# Eval("ImageAll") %>' rel="prettyPhoto">Zoom In</a>
                            </div>--%>
        </div>
        </ItemTemplate>
        </asp:Repeater>
        </asp:PlaceHolder>
        </div>

<div class="bf-single-item" id="DynamiteLounge">
        <asp:PlaceHolder ID="plcDynamiteLounge" runat="server">
        <asp:Repeater ID="rptrDynamiteLounge" runat="server">
        <ItemTemplate>
        <div class="bf-single-item">
        <asp:Image ID="imgDynamiteLounge" runat="server" ImageUrl='<%# Eval("ImageDynamiteLounge") %>' />
        <div class="caption">
                        <div class="cap-in">
                            <h3>
                                CN Lighting</h3>
                                <%--<div class="bflink-preview">
                                <a href='<%# Eval("ImageAll") %>' rel="prettyPhoto">Zoom In</a>
                            </div>--%>
        </div>
        </ItemTemplate>
        </asp:Repeater>
        </asp:PlaceHolder>
        </div>

.

.

.

在此代码中,您可以看到我在<a href中有<li>,我已将href作为div Ids。见图。如何传递ID?

Like this

1 个答案:

答案 0 :(得分:2)

标记

<asp:LinkButton runat="server" Text="All" OnClick="LinkButton_Click"></asp:LinkButton>
protected void LinkButton_Click(object sender, EventArgs e)
{
    var id = (sender as LinkButton).Attributes["data-cat"];

    if(id == "All")
        DoSomething();
}

在后面的代码中无法像这样检索你的id,但是从ASP.NET 4中有Control.ClientID属性可以帮助你。

假设你想要这个客户端

document.getElementsByTagName('a').forEach(function(elem){
    elem.addEventListened(click_handler);
});

function click_handler(){
    var id = this.id;
    if(id == 'All')
        doSomething();
}

假设您知道Array.prototype.forEach方法