更改中继器中链接按钮的颜色

本文关键字:按钮 颜色 链接 中继器 | 更新日期: 2023-09-27 18:34:24

我正在为我的 GridView 创建自定义分页,到目前为止,我已经完成了除此之外的所有操作:我想以不同的颜色或不同的字体样式或任何我想要的东西突出显示所选页面。例如,如果我有第 1 2 3 4 5 6 页,并且我确实选择了 4,当它从 GridView 重新加载数据时,我希望 4 涂成红色 1 2 3 4 5 6。这是我的aspx文件

<asp:Repeater ID="repeaterPaging" runat="server" >
<ItemTemplate>
   <asp:LinkButton ID="pagingLinkButton" runat="server"
        Text='<%#Eval("Text") +" | " %>' 
        CommandArgument='<%# Eval("Value") %>'
        Enabled='<%# Eval("Enabled")%>' 
        OnClick="linkButton_Click" ForeColor="White" Font-Bold="True" Font-Underline="false">
    </asp:LinkButton>
</ItemTemplate>

如果你能给我任何关于我如何把" | "离开,所以只有数字像链接按钮,因为现在我的链接按钮是数字+" |'"

我的链接按钮点击方法

        protected void linkButton_Click(object sender, EventArgs e)
    {
        //int totalRows = 0;
        LinkButton lb = (LinkButton)sender;
        lb.Attributes.Add("class", "BlackLnkBtn");
        int pageIndex = int.Parse((sender as LinkButton).CommandArgument);
        pageIndex -= 1;
        gridViewSearchReport.PageIndex = pageIndex;
        //gridViewSearchReport.DataSource = EmployeeDataAccessLayer.
        //    GetEmployees(pageIndex, GridView1.PageSize, out totalRows);
       // FetchData(pageIndex);
        gridViewSearchReport.DataSource = FetchData(pageIndex+1);
        gridViewSearchReport.DataBind();
        DatabindRepeater(pageIndex, gridViewSearchReport.PageSize, RowNumber());
        CheckButtonsAvailability(pageIndex + 1);
    }

我像这样填充页面

pages.Add(new ListItem(i.ToString(),i.ToString(), i != (pageIndex + 1)));

基本上,我想指出哪个是我正在查看的当前页面 atm。

提前谢谢。

更改中继器中链接按钮的颜色

在单击处理程序中设置LinkButtonForeColor 属性,如下所示:

protected void linkButton_Click(object sender, EventArgs e)
{
    //int totalRows = 0;
    LinkButton lb = (LinkButton)sender;
    lb.Attributes.Add("class", "BlackLnkBtn");
    int pageIndex = int.Parse((sender as LinkButton).CommandArgument);
    pageIndex -= 1;
    gridViewSearchReport.PageIndex = pageIndex;
    //gridViewSearchReport.DataSource = EmployeeDataAccessLayer.
    //    GetEmployees(pageIndex, GridView1.PageSize, out totalRows);
   // FetchData(pageIndex);
    gridViewSearchReport.DataSource = FetchData(pageIndex+1);
    gridViewSearchReport.DataBind();
    DatabindRepeater(pageIndex, gridViewSearchReport.PageSize, RowNumber());
    CheckButtonsAvailability(pageIndex + 1);
    // Make the clicked link button red
    lb.ForeColor = System.Drawing.Color.Red;
}

我用不同的方式解决了它,使用 javascript:我添加了这个函数,以便隐藏标签可以获取所选索引的值,然后所选索引采用此标签的样式。

        $().ready(function () {
        $('#ctl00_ContentPlaceHolder1_lbPageView(THIS IS DIV ID OF THE ROW WHERE PAGINATION IS GENERATING>a').each(function () {
            if ($(this).text() == $('.lblPageNum').text())  
            {
                $(this).css('color', '#FDBE0E');
            }
        });
    });

标签:

 <asp:Label ID="lblPageNum" style="display:none;" Class="lblPageNum" runat="server" />

然后只需在 btnclick 事件的代码隐藏中更改它

lblPageNum.Text = (pageIndex += 1).ToString();