2016-05-19 5 views
3

Я пытаюсь использовать глификоны в качестве значков для ASP Button.ASP.NET Button with Bootstrap Glyphicon

Я знаю, что вы можете легко сделать это, предоставив элементу <i> собственный CSS-код glyphicon, а затем родив его под нужную кнопку.

Однако, я хочу сделать это со стороны C# NOT HTML. Как мне это сделать?

Я попытался следующие, но безрезультатно:

HtmlGenericControl i1 = new HtmlGenericControl("i"); 
i1.Attributes["class"] = "glyphicon glyphicon-backward"; 
i1.Attributes["aria-hidden"] = "true"; 

Button btnFirst = new Button(); 
btnFirst.ID = "btnFirst"; 
btnFirst.CommandName = "FirstPage"; 
btnFirst.CssClass = "btn btn-default pageButton"; 
btnFirst.Click += new EventHandler(btnFirst_Click); 
btnFirst.Controls.Add(i1); 
container.Controls.Add(btnFirst); 

Если я бегу, как указано выше, кнопка отображается, но нет значка. В HTML, нет элемента <i>, вложенного под кнопку. На самом деле, похоже, этого не существует.

+1

У вас есть правильная настройка в вашем CSS? Не могли бы вы включить какой-либо CSS, который вы используете, который будет иметь отношение к этому? Кроме того, что вы пытаетесь сделать, чтобы «i» пометить дочерний элемент управления вашим элементом «Button»? Результатом этого будет, вероятно, что-то вроде « ' ... – gmiley

+1

Какой выход HTML вы используете с помощью вышеперечисленного? – MikeM

+0

Что такое «я»? Используйте тег кнопки, а затем примените к нему класс. – JCM

ответ

3

В принципе вы не можете использовать с глификонами, потому что превращается в <input type='button'>, который не поддерживает никаких дочерних элементов.

Два возможных решения:


Использование <asp:LinkButton> вместо :

<asp:LinkButton runat="server" ID="lbFoo" OnClick="lbFoo_Click" CssClass="btn btn-default"> 
    <i class="glyphicon glyphicon-backward" aria-hidden="true"></i>Back 
</asp:LinkButton> 

Это общее решение.


Или использовать <button> представить скрытый

<button type="button" class="btn btn-default" onclick="<%=btnHidden.ClientID %>.click()"> 
    <i class="glyphicon glyphicon-backward" aria-hidden="true"></i> 
    Click 
</button> 

<asp:Button runat="server" style="display:none;" ID="btnHidden" 
    OnClick="btnHidden_Click"></asp:Button> 

Это временное решение, если вы настаиваете, используя и не <asp:LinkButton>. Есть и другие обходные пути, но это наиболее законно.

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