繁体   English   中英

我在asp.net中的复选框不适用于代码隐藏文件

[英]My checkbox in asp.net doesn't work with the codebehind file

我有一个复选框,应该转到代码隐藏文件中的方法。 这是我的aspx代码:

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

这是我的代码隐藏代码。 该代码应该工作,但它甚至不执行该方法。

protected void fullscreen_chbx_Click(object sender, EventArgs e)
{
    bool fullscreen = false;


    if (fullscreen == false)
    {
        InputSimulator.SimulateKeyPress(VirtualKeyCode.F11);
    }
    else
    {
        InputSimulator.SimulateKeyPress(VirtualKeyCode.F11);


    } 

aspx文件中始终存在此错误:JavaScript中的运行时错误:“ fullscreen_chbx_Click”未定义。 为什么javascript错误?

您没有使用ServerSide控件,因此onclick事件正在尝试触发JavaScript事件。

您可以更改代码以使用ServerSide控件,例如

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

请注意, OnCheckedChanged控件没有onclick事件处理程序,因此您将需要使用OnCheckedChanged 您可能还希望将AutoPostBack="True"添加到控件中,以便立即触发该事件。

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

然后,这将触发您的服务器事件。 如果要向此事件添加客户端事件,则始终可以添加OnClientClick="somefunction();"

这是因为您使用的是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
        {

        }

}

的AutoPostBack = “真”

仅当将复选框的AutoPostBack属性指定为值“ true”时,复选框控件的事件才会引发。

将您的代码从更改为

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM