Это потому, что у вас есть только один DefaultButton
для form
, поэтому всякий раз, когда вы нажимаете клавишу ввода, запускается событие нажатия кнопки по умолчанию. Чтобы сделать соответствующий вызов кнопки, оберните вашу разметку внутри элемента управления asp:panel
и установите DefaultButton
для отдельных панелей. Ваша разметка должна выглядеть так:
<form id="form1" runat="server">
<asp:Panel runat="server" DefaultButton="imbtnConsultaCliente">
<asp:TextBox ID="txtCodCliente" runat="server" Height="25px" Width="89px">
</asp:TextBox>
<asp:ImageButton ID="imbtnConsultaCliente" src="Images/Search.png"
runat="server" Height="16px" OnClick="ImageButton1_Click1" Width="17px"
ImageAlign="AbsMiddle" />
</asp:Panel>
<asp:Panel runat="server" DefaultButton="btnBuscaSku">
<asp:TextBox ID="txtMaterial" onkeypress="continues()" autofocus="autofocus"
runat="server" Width="64px"></asp:TextBox>
<asp:ImageButton ID="btnBuscaSku" src="Images/Search.png" runat="server"
Height="16px" Width="17px" OnClick="btnBuscaSku_Click" />
</asp:Panel>
</form>
Используйте метод rindex для вашей строки. Например:
>> 'ssBssBss'.rindex(/B/)
=> 5
ищет . * (Foo)
также должен найти самый правый foo, благодаря жадной природе. * (Но rindex может быть быстрее - нужен микробенчмарк для проверки!).
Я думаю, Rindex - это путь. Кажется, что rindex будет на самом деле перебирать строку в обратном направлении. Проверьте строку 957 из string.c
Похоже, что кто-то нашел способ отменить регулярные выражения в PERL еще в 2001 году. Таким образом, вы бы перевернули строку и обратили регулярное выражение .. . затем используйте метод слева направо.
Я уверен, что сейчас это излишне, и вы можете использовать rindex