Bootstrap Button_Click事件未触发

时间:2014-11-24 14:28:45

标签: c# twitter-bootstrap

我有一个设计有一个按钮的表单,该按钮应该调用存储过程。现在,我只想让按钮在文本框中显示文本(只是为了确保按钮正常工作)。但是,我无法启动它来触发button_click事件。

这就是我所拥有的:

<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 个答案:

答案 0 :(得分:3)

我的猜测是,你正常<button><asp:Button>混在一起。

您当前的实现想要运行javascript函数名称btnSubmit_Click,并且与您的C#代码隐藏没有任何连接。

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

我无法测试它是否有效。

答案 1 :(得分: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>

答案 2 :(得分:0)

如果您使用的是标准HTML按钮,则需要:

  1. runat="server"添加到您的按钮。
  2. 将按钮设置为使用onserverclick而不是onclick
  3. 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...标记的Bootstrap类。您只需将它们应用于名为CssClass的属性,而不是“class”。

    所以:

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