首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DataList ItemCommand事件更改CSS类

DataList ItemCommand事件更改CSS类
EN

Stack Overflow用户
提问于 2013-07-27 08:35:45
回答 2查看 1.6K关注 0票数 0

我在DataList控件中有按钮,当我单击一个按钮时,我在itemcommand事件中更改它的CSS类,类正在按预期变化,但当我单击button1时它将更改它的CSS类,然后单击button2它也将更改它的CSS类,但button1也有相同的类,我只想在我单击的按钮上添加这个类。这是我的aspx代码

代码语言:javascript
复制
 <asp:DataList ID="lst" runat="server" OnItemCommand="lst_ItemCommand"
                        Width="187">
                        <HeaderTemplate>
                        </HeaderTemplate>
                        <ItemTemplate>
                            <div class="num">
                                <asp:LinkButton  style="text-decoration:none;" ID="lnk" CommandName="detail" CommandArgument='<%# Eval("UserID") %>'
                                    runat="server"><%# Eval("Title")+" "+Eval("Firstname")%></asp:LinkButton>
                            </div>
                        </ItemTemplate>
                        <FooterTemplate>
                        </FooterTemplate>
                    </asp:DataList>

这是我的.CS代码

代码语言:javascript
复制
   protected void lst_ItemCommand(object source, DataListCommandEventArgs e)
        {

            if (e.CommandName == "detail")
            {
            LinkButton btnlnk = (LinkButton)e.Item.FindControl("lnk");
                btnlnk.CssClass = "selectedclass";
              }


        }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-27 09:16:26

你可以做下面这样的事情

代码语言:javascript
复制
protected void lst_ItemCommand(object source, DataListCommandEventArgs e)
{
    if (e.CommandName == "detail")
    {
        int index = e.Item.ItemIndex;

        for (int i = 0; i < lst.Items.Count; i++)
        {
            LinkButton btnlnk = lst.Items[i].FindControl("lnk") as LinkButton;
            if (btnlnk !=null)
            {
                btnlnk.CssClass = index == i? "selectedclass" :string.Empty;
            }

        }

    } 
}
票数 1
EN

Stack Overflow用户

发布于 2013-07-27 08:45:14

您应该为AutoPostBack添加LinkButton选项,并必须检查页面回发状态(isPostBack)。因为,您的代码将在每次回发时重新生成。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17895891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档