【问题标题】:Write Html Markup from code behind in asp.net从 asp.net 中的代码编写 Html Markup
【发布时间】:2016-11-07 03:52:07
【问题描述】:

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

从后面的代码编写我自己的 HTML 的最佳方法是什么?

我目前使用这个:

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

以及来自后面的代码:

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

做这样的事有权利吗?

有没有更好的方法来做到这一点?

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    你可以这样做,但请不要这样做。为了您过去、现在和未来的开发人员,请将您的代码与您的设计分开。现在,如果您必须在代码中编写标记,那肯定是一种方法。

    但是,如果您只想添加带有特定类的文字/跨度/文本框,您可以这样做:

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

    myPanel.Controls.Add(new Label
                         { Text = "Hello!", CssClass = "specific-class" });
    

    【讨论】:

    • 当我使用你的代码时,我得到这个:System.Web.UI.WebControls.Literal' 不包含'CssClass 的定义。在我的工作中,我必须在某些条件下编写一些
    • 标签。我怎么写那些标签。
  • @Raika,已更新,您需要使用 Label 而不是 Literal。你需要使用这样的东西从后面的代码中创建一个 div:var myDiv = new HtmlGenericControl("div");
  • 【解决方案2】:

    您可以尝试使用 HtmlGenericControl。您可以定义 html 元素的标记名称。在此处了解更多信息:http://msdn.microsoft.com/en-us/library/7512d0d0(v=vs.71).aspx

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签