Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET C#按钮一次单击,即使不启动_C#_.net_Onclick_Code Behind - Fatal编程技术网

ASP.NET C#按钮一次单击,即使不启动

ASP.NET C#按钮一次单击,即使不启动,c#,.net,onclick,code-behind,C#,.net,Onclick,Code Behind,我对谷歌已经精疲力竭了,我找不到解决这个问题的办法。单击my.aspx页面上的按钮时,相应的函数不会从.aspx.cs文件调用。我会发布我的代码,看看是否有人接受 AddUser.aspx: <%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="AddUser.aspx.cs" Inherits="AddUser" %> <asp:Cont

我对谷歌已经精疲力竭了,我找不到解决这个问题的办法。单击my.aspx页面上的按钮时,相应的函数不会从.aspx.cs文件调用。我会发布我的代码,看看是否有人接受

AddUser.aspx:

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="AddUser.aspx.cs" Inherits="AddUser" %>

<asp:Content ID="tb_AddUserHeader" ContentPlaceHolderID="tb_HeaderPlaceHolder" Runat="Server">
</asp:Content>

<asp:Content ID="tb_AddUserContent" ContentPlaceHolderID="tb_ContentPlaceHolder" Runat="Server">
    <h1>Add User</h1>
    <fieldset>
        <asp:Label ID="tb_lblAddUser_Authorized" runat="server" Visible="false">
            <br />
            <table>
                <tr>
                    <td><u>Username:</u></td>
                    <td><asp:TextBox ID="tb_txtbxUsername" runat="server" Width="200"></asp:TextBox></td>
                </tr>
                <tr>
                    <td><u>Password:</u></td>
                    <td><asp:TextBox ID="tb_txtbxPassword" runat="server" Width="200" TextMode="Password"></asp:TextBox></td>
                </tr>
                <tr>
                    <td><u>Account Type:</u></td>
                    <td><asp:DropDownList ID="tb_ddAccountType" runat="server">
                        <asp:ListItem Value="v" Text="Viewer"></asp:ListItem>
                        <asp:ListItem Value="t" Text="Tester"></asp:ListItem>
                        <asp:ListItem Value="a" Text="Admin"></asp:ListItem>
                        </asp:DropDownList></td>
                </tr>
                <tr>
                    <td><asp:Button ID="tb_btnAddUserSubmit" runat="server" Text="Submit" OnClick="tb_btnAddUserSubmit_Click" UseSubmitBehavior="true" /></td>
                </tr>
            </table>
            <br />
        </asp:Label>

        <asp:Label ID="tb_lblAddUser_Output" runat="server" Visible="false"></asp:Label>

        <asp:Label ID="tb_lblAddUser_Unauthorized" runat="server" Visible="true">
            <br />Only administrators are authorized to view this page
            <br />
            <br />
        </asp:Label>
    </fieldset>
</asp:Content>

EDIT2:我将按钮移到标签外,并手动设置按钮的可见性和标签的可见性(这是我最初使用这些标签的唯一原因),效果很好。我刚刚花了一个半小时试图弄明白这一点,以防其他人再次遇到同样的问题:


ASP:按钮不会从ASP:标签内部触发

尝试在页面加载中对接此行

tb_btnAddUserSubmit.Click += new EventHandler(tb_btnAddUserSubmit_Click);

我认为问题可能是单击处理程序没有在单击事件中注册

您是否从其他页面/应用程序复制了此方法?如果是,则它将不起作用,因此您需要删除分配给按钮的事件和事件名称,然后转到“设计”并转到“按钮事件属性”转到“单击事件”双击按钮旁边的按钮,它将生成事件并自动将事件名称分配给按钮。这应该可以

在页面标题中尝试AutoEventWireup=“false”。我已经有5年没有在ASP.net中工作了,但我记得那有时会破坏东西。

我在.cs代码中找不到你的
tb_btnAddUserSubmit
声明和处理程序

您需要有一个AddUser.Designer.cs类。一定要检查一下


您还需要在
OnInit
中注册事件,而不是
Page\u load

您是否尝试过在Page\u load上放置断点?我将UseSubmitBehavior的那一行添加为true和false,但仍然不起作用(这是仅此按钮还是网站中的所有按钮发生的?
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.master.cs" Inherits="SiteMaster" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head id="tb_head" runat="server">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
    <title>KersTech Hydraulic/Electric Hybrid Data Recording and Telemetry</title>

    <link href="tb_style.css" rel="stylesheet" type="text/css" media="screen" />

    <asp:ContentPlaceHolder id="tb_HeaderPlaceHolder" runat="server">
    </asp:ContentPlaceHolder>

</head>

<body>

<form id="tb_formBody" runat="server">

<!-- Begin wrapper -->
<div id="tb_wrapper">
<asp:Label ID="tb_lblFormsAuthenticationUserData" runat="server" Text="Nothing" Visible="false"></asp:Label>

<!-- Begin top -->
<div id="tb_top">
    <ul id="tb_nav">
        <asp:Label ID="tb_lblMasterMenu" runat="server"></asp:Label>
        <li><asp:LoginStatus ID="tb_LoginStatus" runat="server" LogoutAction="Redirect" LogoutPageUrl="Logout.aspx" /></li>
    </ul>
    <div id="tb_Greeting">
        <asp:LoginView ID="tb_MasterLoginView" runat="server">
            <LoggedInTemplate>
                Logged in as <asp:LoginName ID="MasterLoginName" runat="server" />
            </LoggedInTemplate>
        </asp:LoginView>
    </div>

    <asp:Label ID="test" runat="server"></asp:Label>
</div>

<!-- Begin content -->
<div id="tb_content">
    <asp:ContentPlaceHolder id="tb_ContentPlaceHolder" runat="server">
    </asp:ContentPlaceHolder>
</div>
<!-- End content -->

<!-- Begin footer -->
<div id="tb_footer"><div id="something">
    <!-- Begin badges -->
    <div>
        <a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Strict" height="31" width="88" /></a> <!-- HTML validation badge -->
        <a href="http://jigsaw.w3.org/css-validator/check/referer">
            <img style="border:0;width:88px;height:31px" src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" /> <!-- CSS validation badge -->
        </a>
    </div></div>
    <!-- End badges -->
</div>
<!-- End footer -->

</div>
<!-- End wrapper -->

</form>


</body>

</html>
tb_btnAddUserSubmit.Click += new EventHandler(tb_btnAddUserSubmit_Click);