2014-11-24 273 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按鈕控件(例如,如果您需要在按鈕文本以外的東西),你仍然可以做這樣的(使用RUNAT =服務器和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

偉大的作品!沒有這個,我們不能在Asp.Net中使用任何漂亮的Bootstrap按鈕,而常規的asp按鈕很難看。 – Roland 2017-08-30 14:49:01

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"...

或者,您可以使用自舉類與<asp:Button...標籤爲好。您只需將它們應用於名爲CssClass而不是`class'的屬性。

所以:

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