获取未捕获的参考错误:未定义Button1_Click

时间:2015-06-03 07:38:16

标签: javascript c# html asp.net javascript-events

假设我在这里有一个aspx代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SearchCustomer.aspx.cs" Inherits="WebApplication1.eyeofheaven.SearchCustomer" %>

<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="StyleSheets/SearchCustomerStyle.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<title>Search Customer</title>
</head>
<body>
<form id="form1" runat="server">
 <div class="row">
    <div class="twelve columns">
            <!-- Header-->
            <div class="container">
                <nav role="navigation" class="navbar navbar-inverse navbar-fixed-top">
                    <!-- Brand and toggle get grouped for better mobile display -->
                    <div class="navbar-header">
                        <button type="button" data-target="#navbarCollapse" data-toggle="collapse" class="navbar-toggle">
                            <span class="sr-only">Toggle navigation</span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                        </button>
                    </div>
                    <!-- Collection of nav links, forms, and other content for toggling -->
                    <div id="navbarCollapse" class="collapse navbar-collapse">
                        <ul class="nav navbar-nav">
                            <li><a href="EyeOfHeaven.aspx">Home</a></li>
                            <li class="dropdown">
                                <a data-toggle="dropdown" class="dropdown-toggle active" href="#">Search<b class="caret"></b></a>
                                <ul role="menu" class="dropdown-menu">
                                    <li><a href="SearchCustomer.aspx">Search Form(Customer)</a></li>
                                    <li><a href="SearchVehicle.aspx">Search Form(Vehicle)</a></li>
                                </ul>
                            </li>
                        </ul>
                    </div>
                </nav>
            </div>
    </div>
</div>

<!-- Search form customer-->
<div id="searchcustomer" class="page-header">
    <h3><span class="glyphicon glyphicon-th-large"></span>Search Customer</h3>
</div>
<div class="row">
    <div class="col-md-4"><input type="text" size="20" class="form-control" placeholder="Customer ID"></div>
    <div class="col-md-4">
        <select class="form-control" id="Countries">
                <option>Country</option>
        </select>
    </div>  
    <div class="col-md-4">
        <select class="form-control" id="Regions">
                <option>Regions</option>
        </select>
    </div>
</div>
<div class="row">
    <div class="col-md-4">
        <button type="button" onclick="Button1_Click()" id="searchinfo" class="btn btn-primary"><span class="glyphicon glyphicon-search"></span> Search Info</button>
    </div>
</div>

<!-- Information Table-->
<div class="table-responsive"> 
    <table id="MyTable" class="table table-bordered">
    </table>
</div>
</form>
</body>
</html>

aspx.cs代码背后:

using MSSQLConnector;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication1.eyeofheaven
{
    public partial class SearchCustomer : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
        }
        protected void Button1_Click(object sender, EventArgs e)
        {
            Response.Write("<script>alert('Data Not Found.');</script>");
        }
    }
}

我想在搜索信息按钮中显示提醒(“未找到数据。”)。但是在控制台中出现错误“未捕获的参考错误:未定义Button1_Click”。我不知道是什么让代码出错。或者我的警报消息可能不是有效的c#代码?我在这段代码中调用了函数Button1_Click:

<button type="button" onclick="Button1_Click()" id="searchinfo" class="btn btn-primary"><span class="glyphicon glyphicon-search"></span> Search Info</button>

请帮助我是c#语言的新手,我正在调整以下语法及其格式。

3 个答案:

答案 0 :(得分:4)

您的按钮未在服务器端定义。您需要使用runat = "server"按钮并将onclick事件更改为onserverclick,如下所示

<button type="button" id="searchinfo" runat="server" onserverclick="Button1_Click"  class="btn btn-primary"><span class="glyphicon glyphicon-search"></span> Search Info</button>

而是使用Asp.Net asp:Button control,如下所示:

<asp:Button ID="searchinfo" runat="server" onclick="Button1_Click" cssClass="btn btn-primary" Text="Search Info"  />

答案 1 :(得分:3)

你需要像这样asp button

<asp:Button onclick="Button1_Click" ID="searchinfo" cssClass="btn btn-primary" Text="Search Info" runat="Server">

答案 2 :(得分:2)

试试这个:

<asp:Button onclick="Button1_Click" ID="searchinfo" 
      cssClass="btn btn-primary" Text="Search Info" runat="Server">

即,将按钮定义为runat="Server"。只是添加runat属性将告诉ASP.Net将元素及其属性和内容解析为服务器控件。