【问题标题】:Applying html formating in label control在标签控件中应用 html 格式
【发布时间】:2009-07-25 21:56:22
【问题描述】:

html 格式在这种情况下应用得很好。 姓氏以 5 号显示。

lblWelcome.Text = "Welcome:<font size=''5''>" & txtSurname.Text & "</font>"

为什么在这个例子中没有应用 html 样式?

lblWelcome.Text = "Welcome:<font color=''white''>" & txtSurname.Text & "</font>"

【问题讨论】:

    标签: asp.net html formatting coding-style


    【解决方案1】:

    请,请,请不要使用字体标签。另外,如果你真的想从服务器端输出 HTML,那么你应该使用 Literal 控件。

    以下是我将如何做的示例:

    aspx/ascx 文件:

    Welcome: <asp:Literal id="lit1" runat="server" />
    

    后面的代码:

    lit1.Text = "<span class='welcome'>" & txtSurname.Text & "</span>"
    

    或者你的另一个例子:

    lit1.Text = "<span class='welcomeBig'>" & txtSurname.Text & "</span>"
    

    css:

    span.welcome { color:#fff; }
    span.welcomeBig { font-size:24px; }
    

    希望对你有帮助

    【讨论】:

    • 我猜 CSS 会压倒一切!我什至没有使用文字控件就得到了想要的样式
    【解决方案2】:

    作为替代方案,您可以使用 ASP.NET Literal Web 控件并将其 Mode 属性设置为 Encode 或 Transform。

    Literal1.Mode = LiteralMode.Encode
    
    Literal.Text = "Welcome:<font color='white'>" & txtSurname.Text & "</font>"
    

    在上面的代码中,HTML 元素将被转换为正确的 HTML,只留下白色的姓氏文本。

    【讨论】:

    • 我尝试过编码、转换和直通,但没有成功。 +1 用于文字控制 :)
    【解决方案3】:

    您可以只在标签上设置 ForeColor 属性。

    lblWelcome.Text = txtSurname.Text;
    lblWelcome.ForeColor = "white";
    

    您必须将“欢迎”放在标签之外,但这可能更符合逻辑。

    Welcome:<asp:Label id="lblWelcome" runat="server" />
    

    【讨论】:

    • 尽管它没有直接回答问题,但这是 +1 只是因为输出字体标签真的是 1996...
    • @womp - 有时答案是有更好的方法。 :-)
    【解决方案4】:

    别忘了对姓氏进行 HTML 编码:Server.HtmlEncode(txtSurname.Text);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-10-04
      • 2018-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-08
      • 2010-12-10
      • 1970-01-01
      相关资源
      最近更新 更多