2015-11-27 3 views
1

У меня есть код проверки в моем событии clickbutton для поиска, и у вас возникли проблемы с его необходимостью дважды щелкнуть, чтобы работать. Asp Код:Чтобы дважды щелкнуть кнопку, чтобы вызвать обратную передачу в asp.net

 <asp:Button ID="SearchButton" runat="server" Text="Search" Width="148px" OnClick="SearchButton_Click" style="height: 35px" /> 

Код За

protected void SearchButton_Click(object sender, EventArgs e) 
{ 
     string title = TitleSearch.Text; 
     Regex rgx = new Regex("^[0-9A-Za-z ]+$"); 
     if (title != "" && !rgx.IsMatch(title)) 
     { 
      ErrorLabel.Text = "Special characters are not allowed"; 
     } 
     else 
     { 
      SearchButton.PostBackUrl = "results.aspx"; 

     } 
} 
+1

Баттона' PostBacks' в ASPX страниц .. вы можете показать, что ваши 'Page_Load' код выглядит как в файле .cs ..? также используйте этот 'Response.Redirect (" results.aspx ");' вместо 'SearchButton.PostBackUrl =" resuts.aspx ";' – MethodMan

+2

@MethodMan прав. При первом нажатии кнопки устанавливается значение 'PostBackUrl' кнопки. Во второй раз щелкнуть, значение можно использовать. Поэтому, пожалуйста, попробуйте «Response.Redirect», как было предложено. –

+0

Проблема в том, что, похоже, он не отправляет данные на следующую страницу. То, что я действительно хочу сделать, это только обратная передача, если регулярное выражение проверяет – Cambio

ответ

0

делает текстовое поле имеет постбэк? потому что, если вы измените текст в текстовом поле, он будет делать обратную передачу, когда вы покинете текстовое поле. Если вы нажмете кнопку, появится обратная передача текстового поля.

Я хотел бы проверить текстовое поле с Явой

Добавить в вас событии загрузки страницы «Изменить EditGroup к TextBoxName вы хотите проверить»

EditGroup.Attributes.Add("onchange", "return SomeTextChanged();"); 

Это добавит OnChange события в текстовое поле и будет вызывать функцию Java на странице ASPX при нажатии на кнопку

Затем на странице ASPX вы добавить «Опять изменить EditGroup на имя TextBox вы хотите проверить»

<script type="text/javascript"> 
function SomeTextChanged() { 
    var Entered = document.getElementById('<%= EditGroup.ClientID %>'); 
    if (Entered.value != "" && !Entered.value.match("^[0-9A-Za-z ]+$")) 
    { 
     alert("Special characters are not allowed"); 
     document.getElementById('<%= EditGroup.ClientID %>').value = ''; 
    } 
    else 
    { 
    } 
} 
</script> 

Так что, если вы вводите что-то, что не разрешено, вы получите сообщение о том, «Специальные символы не допускаются»
Это также остановит вас страницы от выполнения остальной части кода в случае нажатия кнопки.

И вам также необходимо очистить текстовое поле «Я знаю, что это, возможно, не самый лучший способ, но если вы не опорожните текстовое поле, и пользователь снова нажмет кнопку, он не будет запускать Java-код, потому что текст didn ' изменение т»

Так что если если текст хороший ява скрипт не будет делать ничего, и событие нажатия кнопки будет срабатывать триггер

Смежные вопросы