将按钮内的班级更改为发件人

时间:2015-09-29 07:54:21

标签: html css asp.net linkbutton asplinkbutton

我想知道是否有可能在后面的代码中选择特定的LinkBut​​ton。

我想要做的是当点击按钮时,按钮内的跨度应该改变类。我知道如果我在跨度上设置了ID,我可以更改它,但我想知道是否可以通过按钮作为发送者获得跨度。

按钮:

<asp:LinkButton ID="btnAttestMonday" runat="server" CssClass="btn btn-success  btn-xs" OnClick="btnAttest_Click" CausesValidation="false"><span class="glyphicon glyphicon-ok" runat="server"></span></asp:LinkButton>

代码背后:

    protected void btnChangeAttest_Click(object sender, EventArgs e)
{
    LinkButton btn = (LinkButton)sender;

    switch (btn.CommandName)
    {
        case "Attest":
            updateAttestInDB(btn.CommandArgument.ToString(), true);
            btn.CommandName = "RemoveAttest";
            break;
        case "RemoveAttest":
            updateAttestInDB(btn.CommandArgument.ToString(), false);
            btn.CommandName = "Attest";
            break;
    }      
}

我希望跨度改变切换案例中的类。

提前致谢!

1 个答案:

答案 0 :(得分:0)

将范围设为Label并完成操作。然后,您只需要通过ID访问它。但是,如果您不想要,可以通过LinkButton访问它 Controls - 系列:

protected void btnAttest_Click(object sender, EventArgs e)
{
    LinkButton btn = (LinkButton)sender;
    var span = (HtmlGenericControl) btn.Controls[0];
    span.Attributes["class"] = "newCssClass";
    // ...
}

当然,如果您将来更改布局,那么在运行时会失败。