我有了一個標籤控制,幾個按鈕就可以了用戶控件的aspx頁面。Asp.NET用戶控件回發問題
<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>
有用戶控件
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事件觸發的事件處理程序沒有問題,2個自定義事件。我可以調試並觀看啓用的按鈕。我的問題是當屏幕加載按鈕仍然被禁用。在我的aspx頁面我禁用按鈕:
<dx:ASPxButton ID="btnNext" runat="server" Text="Next" Theme="MetropolisBlue"
onclick="btnNext_Click" Enabled="false"></dx:ASPxButton>
「下一步」按鈕已經被禁用。這就是爲什麼你不能真正看到它。我用黑色輪廓框住了它。當我點擊OK按鈕時,WorkerLoaded事件觸發。
唯一的其他禁用是對On_Worker_Unloaded事件處理程序。我沒有把它連接起來。沒有其他的東西會導致按鈕被禁用。任何想法我失蹤了?
謝謝!
UPDATE
用戶控件具有的UpdatePanel在它。我不知道這是否有所作爲,但我想我會包括這一點。我注意到了一些其他奇怪的事情。啓用按鈕後,我注意到,如果我做了回發,該按鈕將被啓用。這是否爲任何人敲響了任何鐘聲?
在完成其他任何事情之前加載aspx頁面。加載頁面時該按鈕已被禁用。當我點擊用戶控件上的'確定'按鈕時,觸發WorkerLoaded事件。該事件然後應該啓用下一步按鈕。我將編輯我的帖子並添加一個屏幕截圖。 –
我沒有看到任何明顯的。也許在頁面生命週期中出現意想不到的事情。爲了調試,我會嘗試更改事件處理程序中的其他一些值,並查看這些其他更改是否在客戶端上可見。 –
我添加了另一個按鈕並將其啓用。我試圖改變該按鈕上的文字,但沒有奏效。我注意到,如果在WorkerLoaded事件觸發後點擊按鈕,文本將會改變,並且btnNext將被啓用。這和用戶控件上的按鈕是否在UpdatePanel內是巧合?更新面板可以解決問題嗎? –