在ASP.NET中从代码后台编写HTML标记

6

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

如何以代码方式编写自己的HTML?

我目前使用以下方法:

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

并且从代码后台:
ltr.Text = "<p class=\"specific-class\"></p>";

这样做是正确的吗?

有更好的方法来做这件事吗?

2个回答

5
你可以这样做,但最好不要这样。为了过去、现在和未来的开发人员,请将代码与设计分离。如果你必须在代码中编写标记,那么当然可以这样做。
但是,如果你只想添加带有某个类的文本或span或文本框,可以像这样做:
(假设你有一个名为“myPanel”的带有runat =“server”的面板)
myPanel.Controls.Add(new Label
                     { Text = "Hello!", CssClass = "specific-class" });

当我使用你的代码时,出现了这个错误:System.Web.UI.WebControls.Literal' does not contain a definition for 'CssClass。在我的工作中,我必须根据某些条件编写一些<li>和<div>标签。请问我该如何编写这些标签? - user495093
@Raika,更新了,你需要使用Label而不是Literal。你需要像这样使用代码后台创建一个div:var myDiv = new HtmlGenericControl("div"); - Filip Ekberg

2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接