1

動的に追加したラベルにフォーカスを設定する必要があります。これが私の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);

SetFocus(label)後にしようとしましたlabel.Attributesが、うまくいきませんでした。GetElement動的に作成したどのラベルでも実行できないため、JScriptでは実行できません。手がかりはありますか?パネルにはスクロールバーがあり、最後に動的に追加されたラベルまでスクロールしたいので、フォーカスする必要があります

4

1 に答える 1

1

次のようなラベルでフォーカスを直接呼び出すことができます。

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

しかし、必要なのがその要素までスクロールすることである場合、ラベルは機能せず、入力フィールドのみが機能すると思います。テキストボックスとスタイルを使用して、ラベルのように見せることができます。

于 2013-02-26T13:20:52.003 に答える