2015-09-29 2 views
0

Интересно, может ли его выбрать внутри конкретного LinkButton в коде позади.Изменить класс на интервал внутри кнопки в качестве отправителя

Что я хочу сделать, когда кнопка нажата, интервал внутри кнопки должен изменить класс. Я знаю, что могу изменить его, если я установил идентификатор на пролете, но я задаюсь вопросом, можно ли его получить, нажав кнопку в качестве отправителя.

Кнопка:

<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; 
    }  
} 

Я хочу пядь изменить класс в случаях переключения.

Заранее благодарен!

+0

_ "для выбора внутри конкретного LinkButton" _? Сделайте span «Label», и все готово. –

+0

Но мне нужно использовать компонент из бутстрапа. Я думаю, что его единственный диапазон, который работает в этом сценарии правильно? – MrKrantz

ответ

0

Сделайте span a Label, и все готово. Тогда вам просто нужно получить к нему доступ через ID. Однако, если вы не хотите, что вы можете получить доступ к его через LinkButton «s Controls -collection:

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

Конечно, это терпит неудачу во время выполнения, если вы будете менять расположение в будущем.

Смежные вопросы