2010-09-01 76 views
0

我在VB.Net和Visual Studio中仍然比较新,我假设这是一个简单的修复,但我不确定。当AutoPostBack设置为false时,ASP复选框值不正确

我在我正在处理的aspx页面上有一个asp:checkbox控件。此复选框位于自定义控件中,并且以前每次点击时都会回发。我正在对页面进行Ajax化,并遇到了问题。当我从asp:复选框中删除属性AutoPostBack =“True”时,当我检查myCheckbox.checked(这是在其他页面上的未回滚的页面上)时,vb代码返回False,尽管我可以看到该框确实被检查。

我假设因为复选框不再回发,出于某种原因VB代码(或视图状态可能)没有看到它被检查。这是正确的,如果是这样,我该如何纠正它?

+0

这将是有帮助的这个问题的最小工作示例。目前还不清楚你正在使用什么来“页面化”页面,无论是更新面板,jquery还是其他的东西,这将有助于更多地了解你的自定义控件。也就是说,这里有一些猜测:如果您使用更新面板,请确保您的控件位于更新面板内。如果您的自定义控件是复合控件,请确保将控件添加到'CreateChildControls()'方法中的集合中,并且该属性设置器/ getters调用'EnableChildControls()'。 – kbrimington 2010-09-01 21:50:11

+0

我很想去,但由于NDA和文件的大小,我不知道我是否可以。我会研究你在这里发布的内容,并发布我发现的更新。 – 2010-09-01 23:06:18

+0

我可以说我们使用jQuery进行ajax调用,但它不在ajax调用上,我们有这个问题,它是仍在页面上的回发调用之一 – 2010-09-01 23:13:10

回答

0

我改变的复选框从ASP控制的类型为复选框的HTML输入和现在的作品:)

-1

我假设因为复选框不再回发,出于某种原因VB代码(或视图状态也许)没有看到它被检查。

这是正确的,您的切换复选框只发生在客户端,所以您的服务器端不知道更改。

+0

-1这是不正确的。生成PostBack时,复选框的Checked属性的值应该为true。 – 2010-09-02 15:19:44