gpt4 book ai didi

asp.net - 如何使服务器控件与 asp :Label's AssociatedControlID property 一起工作

转载 作者:行者123 更新时间:2023-12-01 11:02:21 26 4
gpt4 key购买 nike

当您设置 AssociatedControlID Label 控件上的属性,它呈现一个 <label>带有 for 的 HTML 标签属性设置为目标控件的 ClientID:

<label id="Label" for="TextBox">Dat TextBox</label>
<input id="TextBox" name="TextBox" type="text">

我制作了一个服务器控件,里面有一个文本框,我希望标签呈现它的 for。属性到我的控件的内部文本框。我的第一个想法是直接指向我的服务器控件:

<asp:Label ID="AwesomeLabel" runat="server" AssociatedControlID="AwesomeControl">
Check out my awesome control!</asp:Label>
<custom:MyControl ID="AwesomeControl" runat="Server" />

但这使得 for属性指向 <span>在服务器控件的内容周围呈现:

<label id="AwesomeLabel" for="AwesomeControl">Check out my awesome control!</label>
<span id="AwesomeControl">
<input name="AwesomeControl$ct123" type="text"></span>

好像AssociatedControlID设置 for通过简单地获取目标控件的 ClientID 来获取属性:

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.label.associatedcontrolid.aspx

我不想进入页面的 .aspx.cs 以编程方式设置它,因为这个服务器控件经常使用,我希望它的实现尽可能快。

是否有任何其他方法可以使 Label 标签呈现其 for我的服务器控件的内部 TextBox 的属性,在 .aspx 标记中或从我的服务器控件的代码中?

最佳答案

如果您的用户控件具有 ID AwesomeControl 并且用户控件内的文本框具有 ID AwesomeTextbox,则必须将 AssociatedControlID 设置为:AwesomeControl:AwesomeTextbox .

<asp:Label ID="AwesomeLabel" runat="server" AssociatedControlID="AwesomeControl:AwesomeTextbox">
Check out my awesome control!</asp:Label>
<custom:MyControl ID="AwesomeControl" runat="Server" />

关于asp.net - 如何使服务器控件与 asp :Label's AssociatedControlID property 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9592453/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com