2013-12-18 1 views
4

Bootstrap форма Войти ниже:Как создать Button_Click() Событие для кнопки Bootstrap?

<form class="form-vertical login-form" runat="server" action="~/Default.aspx"> 
    <label class="control-label visible-ie8 visible-ie9">User Name</label> 
     <input class="m-wrap placeholder-no-fix" type="text" placeholder="UserName" name="username"/> 
    <label class="control-label visible-ie8 visible-ie9">Password</label> 
     <input class="m-wrap placeholder-no-fix" type="password" placeholder="Password" name="password"/> 
    <button type="submit" class="btn green pull-right" aria-pressed="undefined"> 
    Log In <i class="m-icon-swapright m-icon-white"></i> 
    </button>    
</form> 

Когда кнопка нажата, я хочу, чтобы создать подключение к базе данных. Итак, мне нужно иметь такой вид:

protected void (ButtonName)_Click(object sender, EventArgs e) 
{ 
    string connStr = "Initial Catalog=LoginCheck; Data Source=MYCOMPUTER; User id=sa; password=000000;"; 
    SqlConnection conn = new SqlConnection(connStr); 
    conn.Open(); 
    ... 
} 

Но это не работает как ASP.NET. Если я дважды щелкнув по кнопке, когда буду заниматься дизайном, это не заставляет меня писать код. Пожалуйста, поставьте меня в правильном направлении!

ответ

4

В ASP.Net, вы хотите использовать контроль сервера, если вы хотите отправить обратно.

Чаще всего, <form> тег находится внутри главной страницы, поэтому вы не можете легко стилизовать его.

Вот пример -

<form id="form1" runat="server"> 
    <div class="form-vertical login-form"> 
     <asp:Label runat="server" ID="UsernameLabel" 
      AssociatedControlID="UserNameTextBox" 
      CssClass="control-label visible-ie8 visible-ie9">User Name 
     </asp:Label> 
     <asp:TextBox runat="server" ID="UserNameTextBox" 
      CssClass="m-wrap placeholder-no-fix" /> 

     <asp:Label runat="server" ID="PasswordLabel" 
      AssociatedControlID="PasswordTextBox" 
      CssClass="control-label visible-ie8 visible-ie9">Password 
     </asp:Label> 
     <asp:TextBox runat="server" ID="PasswordTextBox" 
      CssClass="m-wrap placeholder-no-fix" /> 

     <asp:LinkButton runat="server" ID="SubmitLinkButton" 
      CssClass="btn btn-default pull-right" 
      OnClick="SubmitLinkButton_Click"> 
      Log In <i class="m-icon-swapright m-icon-white"></i> 
     </asp:LinkButton> 
    </div> 
</form> 
1

Но это не работает, как ASP.NET

Ваш код (так называемый «код-за») выглядит, как он ожидает, что ASP.Net сервер управляет, например, <asp:Button runat="server" id="foo"..., так что он может сделать Postback, который является способом веб-форм ASP.NET.

Сказав это, вы можете попробовать

  • присвоения класса начальной загрузки CSS для элемента управления сервера ASP.net, чтобы сделать его похожим на кнопку начальной загрузки (моделирование)

  • сохранить существующий HTML выше обрабатывать нормальный HTTP POST и не иметь дело с управлением сервером (и иметь дело с request.form)

Это ваша ча ce основывается на том, что работает для вас. В любом случае основная концепция основана на стандартном HTTP POST (html form post, asp.net web forms «postback»).

Hth ...