小编Mat*_*att的帖子

取消选中时,ASP.NET CheckBox不会触发CheckedChanged事件

我在ASP.NET内容表单上有一个CheckBox,如下所示:

<asp:CheckBox runat="server" ID="chkTest" AutoPostBack="true" OnCheckedChanged="chkTest_CheckedChanged" />
Run Code Online (Sandbox Code Playgroud)

在我的代码后面我有以下方法:

protected void chkTest_CheckedChanged(object sender, EventArgs e)
{
}
Run Code Online (Sandbox Code Playgroud)

当我在浏览器中加载页面并单击CheckBox时,它会被检查,页面会回发,我可以看到chkTest_CheckedChanged被调用.

然后,当我再次单击CheckBox时,它将取消选中,页面会回发,但chkTest_CheckedChanged不会被调用.

该过程是可重复的,因此一旦取消选中CheckBox,检查它将触发事件.

我在Web.Config中禁用了View State,启用View State会导致此问题消失.在View State保持禁用状态时,我可以做些什么才能获得可靠的事件?

更新: 如果我Checked="true"在服务器标签上设置,当取消选中CheckBox时事件触发,情况就会反转,而不是相反.

更新2: 我已经OnLoadComplete在我的页面中覆盖了,并且从那里我可以确认Request.Form["__EVENTTARGET"]已正确设置我的CheckBox的ID.

asp.net viewstate

27
推荐指数
5
解决办法
7万
查看次数

NHibernate使用Linq查询字符串集合会导致错误或空集合

我在选择字符串集合时遇到问题,并使用以下小例子进行复制.

给出以下SQL:

CREATE TABLE [Post] (
    [Id]    INT     IDENTITY NOT NULL,
    [Name]  NVARCHAR(20) NOT NULL,
    CONSTRAINT [PK_Post] PRIMARY KEY CLUSTERED ([Id])
)
CREATE TABLE [Category] (
    [Id]    INT     IDENTITY NOT NULL,
    [PostId]    INT NOT NULL,
    [Name]  NVARCHAR(20) NOT NULL,
    CONSTRAINT [FK_Category_Post] FOREIGN KEY ([PostId]) REFERENCES [Post]([Id])
)
INSERT INTO [Post] ([Name]) VALUES ('Post 1')
INSERT INTO [Category] ([PostId], [Name]) VALUES (1, 'Alpha')
Run Code Online (Sandbox Code Playgroud)

和代码(我使用LINQPad):

void Main()
{
    using (var sessionFactory = Fluently.Configure()
        .Database(MsSqlConfiguration.MsSql2008.Dialect<MsSql2012Dialect>().ConnectionString(@"Data Source=(localdb)\Projects;Initial Catalog=NhTest;"))
        .Mappings(x => {
            x.FluentMappings.Add(typeof(PostMap));
        })
        .BuildSessionFactory()) …
Run Code Online (Sandbox Code Playgroud)

c# linq nhibernate

5
推荐指数
1
解决办法
928
查看次数

标签 统计

asp.net ×1

c# ×1

linq ×1

nhibernate ×1

viewstate ×1