обработка нескольких кнопок отправки в одной форме ASP.Net - PullRequest
1 голос
/ 09 ноября 2011

Я пытаюсь создать какую-то веб-страницу в Asp.Net и C #, которая выглядит почти как страница входа в Facebook, где пользователь может войти вверху страницы и зарегистрироваться внизу, как мне это сделать? и когда акцент делается на текстовые поля знака частично, и пользователь нажимает Enter, он должен перейти к методу входа,

Я уже искал в stackoverflow об этом, и, кажется, все вопросы, которые уже задавались, касались Asp.Net MVC, который я не использую.

Ответы [ 4 ]

1 голос
/ 09 ноября 2011

Вы можете назначить одно событие нескольким щелчкам кнопок -

topButton.Click += SignInButtonClick;
bottomButton.Click += SignInButtonClick;

void SignInButtonClick(object sender, EventArgs e)
{
    //your code here

}

Я предполагаю, что в вашем случае для обеих кнопок будет работать одинаковая логика, вы можете узнать, какая кнопка была нажата, используя аргумент senderкоторый передается в функцию.

В качестве примера, скажем, у меня есть страница aspx, и я добавляю к ней кнопку с именем «Button1», затем я могу добавить событие щелчка через Visual Studio, и оно создастMetiod для обработки события click для меня называется Button1_Click.Метод будет автоматически связан с кнопкой, поскольку свойство AutoEventWireup up в c # по умолчанию имеет значение true .

Теперь, если я добавлю вторую кнопку и назову ее 'Button2«но я хочу, чтобы эта кнопка запускала тот же обработчик событий, что и для Button1, я мог бы добавить этот код в обработчик событий Page_Load»

Button2.Click += Button1_Click;

Обе кнопкизатем вызовите метод Button1_Click при нажатии.

0 голосов
/ 09 ноября 2011

Самое простое решение - обернуть связанные элементы управления (например, элементы управления регистрацией) в элемент управления Panel и установить свойство DefaultButton на Panel.Вы можете прочитать об этом в этом уроке

0 голосов
/ 09 ноября 2011

Вы можете подключить несколько кнопок к одному и тому же методу, выполнив что-то вроде загрузки страницы:

lbTest1.Click += Test_Click;
lbTest2.Click += Test_Click;

void Test_Click(object sender, EventArgs e) 
{ 
    //your code here 
} 

Вы можете использовать кнопку ввода, чтобы вызвать метод кнопки, поместив оба текстовых поля в качестве кнопки на панели и установив свойство defaultbutton панели.

0 голосов
/ 09 ноября 2011

вы скорее используете html Controls, чем Asp.net Control и можете использовать Jquery для входа в систему или регистрации

    $('#login').click(function(event)
    {
      // call
      // $.ajax(),$.get or $.post method for ajax call
     });
    $('#signup').click(function(event)
    {
      // call
      // $.ajax(),$.get or $.post method for ajax call
     });
    </script>

    <form id="form1">
    <input type="button" value="login" id="login"/>
    </form>
    <form id="form2">
    <input type="button" value="signup" id="signup"/>
    </form>
...