2011-09-21 66 views
1

这是绝对bizzare。警钟可能会响起,为什么我正在检查这个属性,并且可能向你表明我正在尝试做一些“失步”或绕过ASP.NET Page LifeCycle的规定事件管理。请求[“__ EVENTTARGET”]致电查杀页面生命周期

我在相当嵌套的层次结构和更新面板中使用向导。如果你不知道,奇才需要初始化/加载所有向导步骤控件。

我想做一些有点古怪(不完全超古怪),因为我试图动态加载基于用户选择的向导。现在这个工作,但需要一点鞋蹄。

无论如何,在检索用户输入以查看他们想使用哪个向导的情况下,意味着该向导是“inited”之前“我可以选择他们已经做出的(通过下拉或按钮)我比规定的框架更早查找它,希望查看这些值以在页面初始化事件中进行一些必要的初始化(如前所述,使用向导和它们组成的向导步骤的要求)。

无论如何,我已经把它从一个下拉菜单中交换到一个下拉菜单和一个按钮,并且需要查看哪一个被点击。对Request [“__ EVENTTARGET”]的调用将使页面的其余部分处理,而不起作用。我想我应该推出我自己的DynamicWizard控件?

+0

进一步的调查发现,这个调用Page.FindControl(Request [“__ EVENTTARGET”])似乎是正确的问题的根源。 – brumScouse

+0

这听起来很熟悉,我想我以前遇到过这个问题。我试图遍历控件层次结构OnInit,并且我的页面以某种方式跳过了认证阶段。 我现在回家了,但是如果这个问题还在我明天回来工作的时候,我会挖掘我所做的修复。 –

回答

0

Request["__EVENTTARGET"]等于null?这可能是因为常规按钮不会填充隐藏字段(他们不需要)。您可以通过将UseSubmitBehavior设置为false来更改该按钮。

<asp:Button ID="SelectWizard" runat="server" 
    Text="Select" UseSubmitBehavior="false" />