动态创建HTML按钮控件并在其中嵌套i标记
本文关键字:在其中 嵌套 标记 控件 创建 HTML 按钮 动态 | 更新日期: 2023-09-27 18:23:53
我在c#中创建了一个简单的HTML按钮作为
Button btn = new Button();
btn.ID="myID";
btn.Click+=new EventHandler(someFunc);
正如预期的那样工作得非常好。但我所需要做的就是在其中插入一个图标。类似于这样的事情。
<button class="mdl-button mdl-js-button mdl-button--fab mdl-button--colored">
<i class="material-icons">add</i>
</button>
有人能指导一下如何把这个插入按钮吗?
您必须使用HtmlButton
并具有服务器点击事件,而不是使用Button
,因为WebControls按钮将呈现为类似<input type
的控件,因此它内部不能有其他控件。
还有someFunc应该是事件而不是字符串
以下是可以使用的完整代码
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
System.Web.UI.HtmlControls.HtmlButton btn = new System.Web.UI.HtmlControls.HtmlButton();
btn.ID = "myID";
btn.Attributes["class"] = "mdl-button mdl-js-button mdl-button--fab mdl-button--colored";
btn.ServerClick += new EventHandler(someFunc);
btn.InnerHtml = "<i class='"material-icons'">add</i>";
// you can add your button to some other parent control or to form
myCustomPanel.Controls.Add(btn);
}
}
protected void someFunc(object sender, EventArgs e)
{
// your code
}
请确保在表单中添加您的按钮或在表单内添加其他控件。
您可以创建一个HtmlGenericControl
对象,并添加所有相关属性,如InnerText
、class
等,最后将此对象添加到按钮的控件集合中。这将为您提供预期的输出:-
HtmlGenericControl iTag = new HtmlGenericControl("i");
iTag.InnerText = "Add";
iTag.Attributes["class"] = "material-icons";
btn.Controls.Add(iTag);