当我专注于UI中的DropDownList时,它会打开并显示数据。如果我尝试通过按Enter键从DropDownList中选择文本,那么它应该选择一个文本并移动到另一个输入控件。但是,我的情况并没有发生这种情况。
选项卡选择和鼠标选择正在运行。它发生在我的页面And Project中的有限位置。
我通过删除CSS尝试了解决方案。我也在谷歌上搜索。但是,我没有找到问题和答案的实际原因。
答案 0 :(得分:0)
这对我有用,当我按下ENTER时,会调用SelectedIndexChanged事件
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication2._Default" %>
<asp:Content ID="BodyContent" ContentPlaceHolderID="MainContent" runat="server">
<asp:DropDownList ID="DropDownList1" runat="server" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged" AutoPostBack="true">
<asp:ListItem>Primo</asp:ListItem>
<asp:ListItem>Secondo</asp:ListItem>
<asp:ListItem>Terzo</asp:ListItem>
</asp:DropDownList>
<asp:Button ID="Button1" runat="server" Text="Button" />
</asp:Content>
为此工作添加AutoPostback=true
至关重要
答案 1 :(得分:0)
如果您的控件使用selectedIndexchange事件回发,那么下一个焦点元素将不会被聚焦,因为回发发生了。
要做到这一点,你必须找到下一个元素并专注于该变化事件,如下所示
<asp:TextBox ID="txtFirstName" OnTextChanged="txtFirstName_TextChanged" placeholder="" AutoPostBack="true" CssClass="form-control" runat="server"></asp:TextBox>
<asp:TextBox ID="txtLastName" OnTextChanged="txtFirstName_TextChanged" placeholder="" AutoPostBack="true" CssClass="form-control" runat="server"></asp:TextBox>
代码背后:
protected void txtMEMBID_TextChanged(object sender, EventArgs e)
{
if(ValidCondition)
{
//go to next element
txtLastName.Focus();
}
}