繁体   English   中英

选中复选框时复选框事件未触发,并且该事件适用于取消选中复选框

[英]checkbox event not firing when checkbox is checked and it works for uncheck checkbox

  <asp:PlaceHolder runat="server" ID="phShowMonsterSourceFacet" EnableViewState="true">
   <div class="oneSearchFilter">
        <div>
            <div class="filterItem chkMonsJobs">
             <asp:CheckBox ID="chkMonsJobs" runat="server" AutoPostBack="true" Checked="true" EnableViewState="true" ViewStateMode="Enabled" OnCheckedChanged="ChkMonsJobs_CheckedChanged"  CssClass="MNSColumnTextViewMore" /> 
            </div>
        </div>
    </div>
    </asp:PlaceHolder> 

public event EventHandler RefineSearchtrivoxMonsJobCheckBoxChecked;


    protected void ChkMonsJobs_CheckedChanged(object sender, EventArgs e)
    {
        if (RefineSearchtrivoxMonsJobCheckBoxChecked != null)
        {
            RefineSearchtrivoxMonsJobCheckBoxChecked(this, EventArgs.Empty);
        }
    }

仅在未选中复选框的情况下才触发复选框事件,否则其他方法将不起作用。

为了获得您报告的行为,我必须设置:

EnableViewState="false"

在页面级别(或在CheckBox的容器上)。 如果您设置:

EnableViewState="true"

在任何地方,它都适用于检查和取消检查动作。

甚至更简单的解决方案是从标记中删除所有EnableViewState和ViewStateMode属性,并使用默认值。

更新

如果要在页面级别禁用ViewState并为单个控件启用它,则可以在页面级别进行设置:

ViewStateMode="Disabled"

对于需要ViewState的每个控件,这是:

ViewStateMode="Enabled"

在这种情况下,您不应该在标记中使用EnableViewState,因为同时使用这两个属性会使情况更加混乱...

暂无
暂无

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

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