繁体   English   中英

在AJAX更新面板中将焦点设置为动态添加控件

[英]Set Focus on Dynamically added control in AJAX Update Panel

我需要将重点放在我动态添加的标签上。 这是我的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 有什么线索吗? 我需要集中精力,因为面板具有滚动条,并且我希望它滚动到最后一个动态添加的Label

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

    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();

但是,如果要滚动到该元素,则标签将不起作用,只能输入我认为的输入字段。 您可以使用文本框和样式看起来像标签。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM