在asp.net中从代码隐藏编写Html标记

在asp.net中从代码隐藏编写Html标记,asp.net,Asp.net,如果标题令人困惑,建议更改它 从代码隐藏中编写自己的HTML的最佳方法是什么 我目前使用的是: <asp:Literal ID="ltr" runat="server"></asp:Literal> 从代码背后: ltr.Text = "<p class=\"specific-class\"></p>"; ltr.Text=“”; 这样做是正确的吗 有更好的方法吗?您可以尝试使用HtmlGenericControl。您可以定义html元素

如果标题令人困惑,建议更改它

从代码隐藏中编写自己的HTML的最佳方法是什么

我目前使用的是:

<asp:Literal ID="ltr" runat="server"></asp:Literal>

从代码背后:

ltr.Text = "<p class=\"specific-class\"></p>";
ltr.Text=“

”;
这样做是正确的吗


有更好的方法吗?

您可以尝试使用HtmlGenericControl。您可以定义html元素的标记名。在这里找到更多信息:

你可以这样做,但请不要这样做。为了您过去、现在和将来的开发伙伴,请将代码与设计分开。现在,如果您必须在代码隐藏中编写标记,这无疑是一种方法

但是,如果您只想为某个类添加一个literal/span/textbox,则可以执行以下操作:

(假设您有一个名为“myPanel”的带有
runat=“server”
的面板)


当我使用您的代码时,我得到了这样的结果:System.Web.UI.WebControl.Literal“不包含”CssClass的定义。在我的作品中,我必须在一定条件下写一些
  • 和标记。我如何写这些标记。@Raika,更新了,您需要使用标签而不是文字。您需要使用类似这样的方法从代码隐藏创建div:
    var myDiv=new-HtmlGenericControl(“div”)
    
    myPanel.Controls.Add(new Label
                         { Text = "Hello!", CssClass = "specific-class" });