我有一个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();
}
答案 0 :(得分:0)
为什么您没有使用客户端脚本来设置焦点
$(function(){
$('#<%= tbEquipType.ClientID %>').focus();
});
如果您使用的是更新面板
function pageLoad(){
$('#<%= tbEquipType.ClientID %>').focus();
}
答案 1 :(得分:0)
启用AJAX时,asp.net焦点方法不起作用。而是使用JQuery轻松地将焦点设置在文本框上。
function document_ready() {
$(".MyTextBoxStyle").focus();
}
或者像这样:
function document_ready() {
$("<%= tbEquipType.ClientID %>").focus();
}
答案 2 :(得分:0)
我相信我明白了。我现在从(窗口).load函数调用focus()方法,它似乎像冠军一样工作。
$(window).load(function () {
$("#<%=tbEquipType.ClientID%>").focus();
});
感谢您的帮助!