2012-11-20 80 views
1

我無法在另一個按鈕點擊事件上看到我的按鈕。無法看到按鈕asp.net

的.aspx

<asp:Button ID="btnActivate" runat="server" SkinID="skinLoginButton" 
    Text="Activate" ToolTip="Activate" CausesValidation="true" 
    ValidationGroup="UserAuthentication" onclick="btnActivate_Click" /> 

<asp:Button ID="btnhomepage" Visible="false" runat="server" 
    Text="Goto Homepage" CssClass="cssLoginButton" onclick="btnhomepage_Click"/> 

的.cs

#region btnActivate_Click 
    protected void btnActivate_Click(object sender, EventArgs e) 
    { 
     this.btnhomepage.Visible = true; 
    } 
    #endregion 

我用this.btnhomepage.Visible = true;的.cs文件。

我的代碼或declearation有什麼問題?

+2

加入您的其他按鈕聲明及其使用這段代碼的事件處理程序。 – BuddhiP

+1

您是否也可以包含Css類「cssLoginButton」,因爲這可能包含!important的顯示屬性。 –

+0

@BuddhiP我編輯了我的代碼 –

回答

0

嘗試在加價您強制使用可見屬性時,該

btnhomepage.Visible = true; 
btnhomepage.Enabled = true; 
btnhomepage.Style.Add("display", "block"); 
1

btnhomepage按鈕刪除Visible屬性,使其從Page_Load中

protected void Page_Load(object sender, EventArgs e) 
{ 
    if(!Page.IsPostBack) 
    { 
     this.btnhomepage.Visible = false; 
    } 
} 
2
<asp:Button ID="btnhomepage" Visible="false" runat="server" 
Text="Goto Homepage" CssClass="cssLoginButton" onclick="btnhomepage_Click"/> 

看不見你控制爲可見=假,並永遠保持虛假。 asp.net引擎將asp.net控件渲染成html控件,在asp.net頁面生命週期中渲染階段。即使你曾在背後事件的任何代碼改變控件的屬性

解決方案:設置控制行爲dynamicllay

頁面生命週期鏈接時,不要使用makup屬性:

http://msdn.microsoft.com/en-us/library/ms178472(v=vs.100).aspx http://www.codeproject.com/Articles/73728/ASP-NET-Application-and-Page-Life-Cycle