【发布时间】:2014-01-29 02:17:12
【问题描述】:
我有一个 aspx 页面,上面有一个 Tab 控件、几个按钮和一个用户控件。
<dx:TabPage Text="Worker Information" Name="tabWorker">
<ContentCollection>
<dx:ContentControl runat="server" SupportsDisabledAttribute="True">
<uc:WorkerInfo runat="server" OnWorkerLoaded="On_Worker_Loaded" OnWorkerUnloaded="On_Worker_Unloaded" />
</dx:ContentControl>
</ContentCollection>
</dx:TabPage>
用户控件上有 2 个自定义事件
public event EventHandler WorkerLoaded;
public event EventHandler WorkerUnloaded;
我在主 aspx 页面中有事件处理程序
protected void On_Worker_Loaded(object sender, EventArgs e)
{
btnNext.Enabled = true;
}
protected void On_Worker_Unloaded(object sender, EventArgs e)
{
btnNext.Enabled = false;
}
On_Worker_Loaded 事件触发没有问题。我可以调试并观察按钮启用。我的问题是当屏幕加载按钮仍然被禁用。在我的 aspx 页面中,我禁用了按钮:
<dx:ASPxButton ID="btnNext" runat="server" Text="Next" Theme="MetropolisBlue"
onclick="btnNext_Click" Enabled="false"></dx:ASPxButton>
“下一步”按钮已被禁用。这就是为什么你不能真正看到它。我用黑色轮廓框住了它。当我单击 OK 按钮时,会触发 WorkerLoaded 事件。
唯一的其他禁用是 On_Worker_Unloaded 事件处理程序。我还没有接上。没有其他原因会导致按钮禁用。有什么我缺少的想法吗?
谢谢!
更新
用户控件中有一个更新面板。我不知道这是否会有所不同,但我想我会包括在内。我注意到还有一些奇怪的事情发生了。启用按钮后,我注意到如果我进行回发,按钮将被启用。这会给任何人敲响警钟吗?
【问题讨论】:
标签: c# asp.net user-controls