Javascript asp.net中的我的复选框与代码隐藏文件不兼容

Javascript asp.net中的我的复选框与代码隐藏文件不兼容,javascript,c#,asp.net,checkbox,Javascript,C#,Asp.net,Checkbox,我有一个复选框,它应该指向codebehind文件中的一个方法。 这是我的aspx代码: <input name="fullscreen_chbx" type="checkbox" id="fullscreen_chbx" onclick="fullscreen_chbx_Click" runat="server"/> aspx文件中始终存在此错误:JavaScript中的运行时错误:全屏\u chbx\u单击未定义。 为什么javascript会出错 自动回邮=真 仅当Chec

我有一个复选框,它应该指向codebehind文件中的一个方法。 这是我的aspx代码:

<input name="fullscreen_chbx" type="checkbox" id="fullscreen_chbx"  onclick="fullscreen_chbx_Click" runat="server"/>
aspx文件中始终存在此错误:JavaScript中的运行时错误:全屏\u chbx\u单击未定义。 为什么javascript会出错

自动回邮=真


仅当Checkbox的AutoPostBack属性的值为true时,Checkbox控件的事件才会引发。

您没有使用服务器端控件,因此onclick事件正试图触发JavaScript事件

您可以更改代码以使用服务器端控件,例如

<asp:CheckBox id="fullscreen_chbx" OnCheckedChanged="fullscreen_chbx_Click" runat="server"/>

然后,这将触发服务器事件。如果您想添加客户端事件,那么您可以始终添加OnClientClick=somefunction

将代码从更改为此

<input name="fullscreen_chbx" type="checkbox" id="fullscreen_chbx"  onclick="fullscreen_chbx_Click" runat="server"/>
对此

<asp:CheckBox id="fullscreen_chbx" OnClick="fullscreen_chbx_Click" runat="server"/>

这是因为您使用的是HTML控件,而不是服务器端控件

要在服务器端使用复选框,您需要添加以下代码

 <asp:CheckBox ID="fullscreen_chbx" runat="server" AutoPostBack="True"
oncheckedchanged="fullscreen_chbx_CheckedChanged" />

protected void fullscreen_chbx_CheckedChanged(object sender, EventArgs e)
{
        if (fullscreen_chbx.Checked)
        {

        }
        else
        {

        }

}

您的全屏点击被视为HTML中的JS函数。这是因为您没有使用服务器端控件。它不是这样工作的。您不能直接从JavaScript调用后端方法。@MattRowland,但我使用了runat=server。它不工作吗?服务器不理解什么是HTML控件。查看@james答案。这是我现在的代码,但仍然是同一个错误Use OnCheckedChangedasp:checkbox是正确的,但我没有包括AutoPostBack是的,可能也是因为您没有使用asp控件,所以它将不起作用您需要启动onclient click属性来调用javascript功能
<asp:CheckBox id="fullscreen_chbx" OnClick="fullscreen_chbx_Click" runat="server"/>
 <asp:CheckBox ID="fullscreen_chbx" runat="server" AutoPostBack="True"
oncheckedchanged="fullscreen_chbx_CheckedChanged" />

protected void fullscreen_chbx_CheckedChanged(object sender, EventArgs e)
{
        if (fullscreen_chbx.Checked)
        {

        }
        else
        {

        }

}