繁体   English   中英

无法专注于C#中的Asp.net文本框

[英]Unable to focus on Asp.net TextBox in C#

我有一个TextBox,我想在回发后使用代码后面的焦点。 此文本框使用带有Ajax DropDownExtender的ListBox创建ComboBox。 当页面执行PostBack时,我调用tbEquipType.Focus(),但是该框没有成为焦点。 我相信问题出在Ajax控件上,但我不确定。 有见识吗? 提前致谢!

<asp:Panel ID="panelEquipType" runat="server" BorderWidth="0">
    <asp:ListBox ID="lbEquipType" runat="server" AppendDataBoundItems="true" />
</asp:Panel>
<asp:TextBox ID="tbEquipType" runat="server" CssClass="Small floatLeft" />
<ajx:DropDownExtender ID="ex1" runat="server" DynamicServicePath="" 
     DropDownControlID="panelEquipType" TargetControlID="tbEquipType" />

我的代码在后面...

    if (IsPostBack)
    {
        tbEquipType.Focus();
    }

为什么不使用客户端脚本设置焦点

$(function(){
    $('#<%= tbEquipType.ClientID %>').focus();
});

如果您使用的是更新面板

function pageLoad(){
    $('#<%= tbEquipType.ClientID %>').focus();
}

启用AJAX时,asp.net焦点方法将不起作用。 而是使用JQuery轻松将焦点设置在文本框上。

function document_ready() {
    $(".MyTextBoxStyle").focus();
}

或像这样:

function document_ready() {
    $("<%= tbEquipType.ClientID %>").focus();
}

我相信我知道了。 我现在从(window).load函数调用focus()方法,它看起来像冠军。

$(window).load(function () {
        $("#<%=tbEquipType.ClientID%>").focus();
    });

感谢您的协助!

暂无
暂无

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

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