asp.net中的label标签是不是可以作为显示文章内容的控件 用啥控件来显示文章内容比较好
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net中的label标签是不是可以作为显示文章内容的控件 用啥控件来显示文章内容比较好相关的知识,希望对你有一定的参考价值。
我用label显示文章内容 行与行之间不对齐 排列很乱
我有用编辑器呀我用地是cutediter编辑器!不管是自己在编辑器写文章还是从记事本复制文章 生成后文章都没按要求显示 参差不齐的
如何在 ASP.NET 中使用 <label> 标签?
【中文标题】如何在 ASP.NET 中使用 <label> 标签?【英文标题】:How to use the <label> tag in ASP.NET? 【发布时间】:2010-10-04 08:59:53 【问题描述】:如何在 ASP.NET 应用程序中使用 <label>
标记?我希望它是有效的、可访问的和可用的。
我理解最佳的 HTML 方式是这样的:
<label for="Username">Username:</label>
<input type="text" id="Username" runat="server" />
但是如果上面的代码在一个 ASP.NET 用户控件中,输入 ID 会改变,这意味着标签的“for”属性是没有用的。我可以将标签标签设置为服务器控件并在代码中设置其“for”属性(Username.ClientID
),但对于这么简单的事情似乎需要做很多工作。
我以前也见过这个 HTML:
<label>
<span>Username</span>
<input type="text" id="Username" runat="server" />
</label>
什么是正确的方法?
【问题讨论】:
【参考方案1】:我为此使用<asp:Label ... AssociatedControlID="Username" ...>
控件。它们被呈现为<label>
标签并适当地设置for
属性。
请注意,如果您愿意,您还可以在 Label 控件中嵌套其他标签:
<asp:Label ID="UsernameLabel"
Text="Username:"
AssociatedControlID="UsernameTextBox"
runat="server">
<asp:TextBox ID="UsernameTextBox" runat="server" />
</asp:Label>
【讨论】:
我也使用这种方法,但总是为标签标签设置 EnableViewState="False",特别是当它是一个实体形式时。在我看来,视图状态越小越好。见***.com/questions/113479/… 同意。为简洁起见,它被省略了。 我发现在 Web.Config 页面设置中关闭 ViewState 并仅打开您需要的控件更容易。是的,如果您只为所有控件保持打开状态,ViewState 确实会增加并减慢速度。 你也要小心。可能你想要一个 如果 asp:Label 控件具有 AssociatedControlID,它将正确呈现 【参考方案2】:使用<asp:Label>
服务器控件。它有一个属性,您可以使用它来设置关联的控件 ID。
<asp:Label ID="label1" runat="server" Text="Username" AssociatedControlID="Text1" />
<asp:TextBox ID="Text1" runat="server" />
【讨论】:
【参考方案3】:我想最简单的方法就是这样。
<asp:Label AssociatedControlID="Username" runat="server" Text="Username:"></asp:Label>
<asp:TextBox ID="Username" runat="server"></asp:TextBox>
【讨论】:
【参考方案4】:<p><asp:Label ID="label1" Text="Username:" AssociatedControlID="txtUserName" runat="server"> <asp:TextBox ID="txtUserName" runat="server" /></asp:Label></p>
【讨论】:
【参考方案5】:你也可以这样写:
<label for="<%= Username.ClientID %>">Username:</label>
<asp:TextBox ID="Username" runat="server" />
Phil Haack 有一个关于此主题的 blog post
【讨论】:
OP 在问题中说他们已经知道他们可以做到这一点。【参考方案6】:如果您使用的是 .NET 4,您现在可以使用 ClientIDMode 属性来配置一个或多个控件以使用静态或可预测的 ID。 ClientIDMode 属性可以直接在 TextBox 上设置,也可以在任何父控件或包含页面上设置。
<label for="Username">Username:</label>
<asp:TextBox ID="Username" runat="server" ClientIDMode="Static" />
在MSDN 上阅读有关 ClientIDMode 的更多信息
【讨论】:
【参考方案7】:如果您想要一个标签,但在AssociatedControlID
中没有其他控件可使用,则可以使用标签本身
<asp:Label ID="Not_Span" AssociatedControlID="Not_Span" Text="Will be rendered as label" />
【讨论】:
【参考方案8】:你我也试试这个:
<asp:Label ID="Label1" runat="server" Text="label"></asp:Label>
如果您拖放标签,这就是 Visual Studio 或任何其他软件为您提供的。
【讨论】:
以上是关于asp.net中的label标签是不是可以作为显示文章内容的控件 用啥控件来显示文章内容比较好的主要内容,如果未能解决你的问题,请参考以下文章
在asp.net中使用label 多行显示,现在每次刷新后显示的文本中的滚动条都是在最上面
ASP.NET 中HttpUtility.HtmlEncode(FCKeditor1.Value)怎有<P>标签,如何过滤?