2014-11-24 5 views
1

У меня есть форма, созданная с помощью кнопки, которая должна вызывать хранимую процедуру. На данный момент я просто хочу, чтобы кнопка отображала текст в текстовом поле (просто чтобы убедиться, что кнопка работает). Однако я не могу заставить его запускать событие button_click.Bootstrap Button_Click Event Not Firing

Вот что у меня есть:

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div class="container-fluid"> 
    <section class="container"> 
     <div class="container-page">     
      <div class="col-md-6"> 
       <h3 class="dark-grey">Registration</h3> 

       <div class="form-group col-lg-12"> 
        <label>Username</label> 
        <input type="" name="" class="form-control" id="" value=""> 
       </div> 

       <div class="form-group col-lg-6"> 
        <label>Password</label> 
        <input type="password" name="" class="form-control" id="" value=""> 
       </div> 

       <div class="form-group col-lg-6"> 
        <label>Repeat Password</label> 
        <input type="password" name="" class="form-control" id="" value=""> 
       </div> 

       <div class="form-group col-lg-6"> 
        <label>Email Address</label> 
        <input type="" name="" class="form-control" id="" value=""> 
       </div> 

       <div class="form-group col-lg-6"> 
        <label>Repeat Email Address</label> 
        <input type="" name="" class="form-control" id="" value=""> 
       </div>   


      <div class="col-md-6"> 
       <h3 class="dark-grey">Terms and Conditions</h3> 
       <p> 
        By clicking on "Register" you agree to the Terms and Conditions. 
       </p> 

       <button type="submit" class="btn btn-primary" onclick="btnSumbit_Click">Register</button> 
       <br /> 
       <br /> 
       <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
      </div> 
     </div> 
    </section> 
</div> 
</form> 
</body> 
</html> 

Мой C# код:

protected void btnSumbit_Click(object sender, EventArgs e) 
{ 
    TextBox1.Text = "Registered"; 
} 

Любая идея, почему это не будет работать?

ответ

3

Мое предположение, что вы получаете нормальный <button> смешанный с .

Ваша текущая реализация хочет запустить имя функции javascript btnSubmit_Click и не имеет никакого соединения с вашим кодом C#.

... 
<asp:Button type="submit" CssClass="btn btn-primary" OnClick="btnSumbit_Click" runat="server">Register</asp:Button> 
... 

Я не смог проверить, работает ли он сам.

1

Если вам нужно использовать кнопку html вместо элемента управления ASP Button (например, если вам нужно что-то, кроме текста в кнопке), вы все равно можете это сделать (используя runat = server и OnServerClick) :

<button runat="server" type="button" id="updateButton" onserverclick="UpdateEmail_Click" class="btn btn-success btn-block" title="<%$ Resources:UserMessages, UpdateCaps %>"><asp:Localize ID="Localize5" runat="server" Text="<%$ Resources:UserMessages, UpdateCaps %>"></asp:Localize></button> 
+0

Работает отлично! Без этого мы не смогли бы использовать какие-либо красивые кнопки Bootstrap в Asp.Net, а обычные кнопки asp уродливы. – Roland

0

Если вы используете стандартную кнопку HTML, вам необходимо:

  1. Добавить runat="server" к кнопке.
  2. Настройте свою кнопку, чтобы использовать onserverclick вместо onclick.

http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmlbutton.onserverclick(v=vs.110).aspx

Итак:

<button runat="server" class="btn btn-primary" onserverclick="Method_Name"...

В качестве альтернативы, вы можете использовать классы Bootstrap с <asp:Button... тегов, а также. Вы просто примените их к атрибуту с именем CssClass вместо `class '.

Итак:

<asp:Button type="submit" runat="server" CssClass="btn btn-primary" OnClick="Method_Name"...