我正在尝试在我的代码后端动态生成一些HTML,以用于我正在设计的用户控件。
我一直在寻找方法,但似乎无法弄清楚如何为我将显示的内容动态生成一些h1标签。
它只是一个设置了特殊属性的标签吗?
var h1 = new HtmlGenericControl("h1");
h1.InnerHtml = "header content";
您也可以使用:
<h1 runat="server" />
Label1.Text = "<h1>HI All</h1>";
string heading = "HI All";
Label1.Text = string.Format("<h1>{0}</h1>", heading);
如果你拥有这样的一个服务器控件,
<div class="cls" runat="server" id="MyServerControlDiv"></div>
HtmlGenericControl
。var h1 = new HtmlGenericControl("h1");
h1.InnerHtml = "header content";
MyServerControlDiv.Controls.Add(h1);
使用 LiteralControl
MyServerControlDiv.Controls.Add(new LiteralControl("<h1>"));
MyServerControlDiv.Controls.Add(new LiteralControl("header content"));
MyServerControlDiv.Controls.Add(new LiteralControl("</h1>"));
literall.Text ="<h1>ABCD</h1>";
public class H1: HtmlGenericElement
{
public H1(): base("h1") { }
}
public class H: HtmlGenericControl
{
public H(int size): base("h" + size) { }
}
使用 Literal 控件,Literal1.Text = "<h1>" + texttodisplay + "</h1>";
假设您的设计中有一个 ASP 占位符:
PlaceHolder placeHolder1 = new PlaceHolder();
string yourText = "Header Text";
Label myLabel = new Label();
myLabel.Text = "<h1>" + yourText + "</h1>";
PlaceHolder1.Controls.Add(myLabel);
或者
PlaceHolder1.Controls.Add(new LiteralControl ("<h1>")) // and likewise
for </h1>.
如果您不需要插入任何子控件,那么使用通用的HTML控件或文字控件就可以了。但是,如果您需要添加一个子控件,例如标签,那么您需要像下面这样创建您的标题作为Web控件:
WebControl H2Header = new WebControl(HtmlTextWriterTag.H1);
然后,您可以像这样附加子控件:
Label labHeader = new Label() { Text = "Some Header Text" };
H2Header.Controls.Add(labHeader);