我正在尝试以编程方式在我的代码中生成一些html用于我正在设计的用户控件。
我一直在环顾四周,但似乎无法弄清楚如何为我要显示的内容动态生成一些h1标签。
它只是一个带有特殊属性集的Label吗?
答案 0 :(得分:32)
var h1 = new HtmlGenericControl("h1");
h1.InnerHtml = "header content";
答案 1 :(得分:8)
您可以使用标签或文字控件,如下所示:
Label1.Text = "<h1>HI All</h1>";
或
string heading = "HI All";
Label1.Text = string.Format("<h1>{0}</h1>", heading);
答案 2 :(得分:8)
你也可以使用:
<h1 runat="server" />
答案 3 :(得分:2)
您可以通过
轻松完成此操作literall.Text ="<h1>ABCD</h1>";
答案 4 :(得分:2)
让你有一个像这样的服务器控件,
<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>"));
答案 5 :(得分:1)
使用文字控件,Literal1.Text = "<h1>" + texttodisplay + "</h1>";
答案 6 :(得分:1)
答案 7 :(得分:1)
我个人更喜欢为它上课。
public class H1: HtmlGenericElement
{
public H1(): base("h1") { }
}
或者也许。
public class H: HtmlGenericControl
{
public H(int size): base("h" + size) { }
}
答案 8 :(得分:0)
让我们假设您的设计中有一个asp占位符:
PlaceHolder placeHolder1 = new PlaceHolder();
string yourText = "Header Text";
Label myLabel = new Label();
myLabel.Text = "<h1>" + yourText + "</h1>";
PlaceHolder1.Controls.Add(myLabel);
OR
PlaceHolder1.Controls.Add(new LiteralControl ("<h1>")) // and likewise
for </h1>.
答案 9 :(得分:0)
使用通用HTML控件或文字控件就可以了,只要您不想插入任何子控件即可。如果确实需要附加一个子控件(例如标签),那么您将需要将标题创建为Web控件,如下所示:
WebControl H2Header = new WebControl(HtmlTextWriterTag.H1);
然后您可以添加一个子控件,如下所示:
Label labHeader = new Label() { Text = "Some Header Text" };
H2Header.Controls.Add(labHeader);
答案 10 :(得分:0)
我一直喜欢使用的东西:
在前端放置所需的html控件,例如
<h1 id="title" runat="server">XXX</h1>
然后在后面的代码中声明所需的控件,如
protected HtmlGenericControl PublicTitle
{
get
{
return this.title;
}
}
代码在控件中的任何地方播放
PublicTitle.InnerHtml = state.Equals("win") ? "Win" : "Lost";
PublicTitle.Attributes.Add("src", "https://xxxx");