在AJAX更新面板中设置"关注动态添加的控件"

本文关键字:quot 动态 添加 控件 AJAX 设置 更新 | 更新日期: 2023-09-27 18:01:05

我需要将焦点设置在我动态添加的标签上。这是我的AJAX面板

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:Panel ID="pnlProgress" runat="server" class="summaryBox" 
                   Style="width: 650px; height: 225px" ScrollBars="Auto">
            <asp:PlaceHolder ID="plcHolder" runat="server"></asp:PlaceHolder>
            <asp:Button ID="btnTrigger" runat="server" OnClick="Button1_Click"
                        Style="visibility: hidden" /></asp:Panel>
    </ContentTemplate>
</asp:UpdatePanel>

这是我的c#代码

label.Text = "SomeText";
label.ID = "lblMessage" + messageNumber;
if (heading)
{
    label.Attributes.Add("style", "font-weight: bold;")                
}
UpdatePanel1.ContentTemplateContainer.Controls.Add(label);
plcHolder.Controls.Add(label);

label.Attributes之后,我尝试了SetFocus(label),但没有成功。我不能在JScript中执行此操作,因为我不能在动态创建的任何标签上GetElement。有线索吗?我需要集中注意力,因为面板有滚动条,我希望它滚动到最后一个动态添加的标签

在AJAX更新面板中设置"关注动态添加的控件"

您可以在标签中直接调用焦点,如:

    label.Text = "SomeText";
    label.ID = "lblMessage" + messageNumber;
    if (heading)
    {
        label.Attributes.Add("style", "font-weight: bold;")                
    }
    UpdatePanel1.ContentTemplateContainer.Controls.Add(label);
    plcHolder.Controls.Add(label);
    label.Focus();

但如果您想要的是滚动到那个元素,那个么标签将不起作用,我相信只有输入字段。您可以使用文本框和样式使其看起来像标签。