2012-10-14 95 views
-1

Id喜歡顯示標籤(使可見一個隱藏),並單擊時更改一個按鈕的文本,並能夠再次單擊按鈕以顯示其原始文本並隱藏標籤。'ASP.NET C#如何隱藏/顯示文本當你點擊一個按鈕

public partial class TestClick : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!Page.IsPostBack) 
     { 

      btnShowButtonText.Text = "Button"; 
      lblShowText.Visible = false; 

     } 
    } 
    protected void btnShowButtonText_Click(object sender, EventArgs e) 
    { 
     if (!Session.IsNewSession) 
     { 
      btnShowButtonText.Text = "Hide gift voucher details"; 
      lblShowText.Visible = true; 
     } 
    }  
+1

問題是?你有什麼嘗試? – MarioDS

+1

回想起來,我認爲做這個服務器端是非常糟糕的。這應該是客戶端功能。 – MarioDS

回答

0

您可以使用一個計數變量。 這樣的:

static int cnt=0; 
    protected void btnShowButtonText_Click(object sender, EventArgs e) 
     { 
    cnt++; 
      if (cnt%2!=0) 
      { 
       btnShowButtonText.Text = "Hide gift voucher details"; 
       lblShowText.Visible = true; 
      } 
    if (cnt%2==0) 
      { 

       btnShowButtonText.Text = "Button"; 
       lblShowText.Visible = false; 

      } 
     } 

當你點擊一次,按鈕上的文字是「隱藏的禮品券細節」
下一次按鈕上的文字是「按鈕」

+0

計數變量必須是靜態的。否則,由於ASP.NET和客戶端與服務器之間的往返,值會丟失。 – Kai

+0

@Kai:是的,已更新 –

+0

除了可能的解決方案,這是客戶端功能。觀看你的服務器如何迴應幾百名同時嘗試隱藏/顯示標籤或其他內容的人...... – MarioDS

0

你可以使用一個hiddenfield確定的狀態按鈕和文字:

public partial class TestClick : System.Web.UI.Page 
    { 
    protected void Page_Load(object sender, EventArgs e) 
    { 
    if (!Page.IsPostBack) 
    { 

     btnShowButtonText.Text = "Button"; 
     lblShowText.Visible = false; 
    } 
    } 

protected void btnShowButtonText_Click(object sender, EventArgs e) 
{ 
    if(hiddenField.Value == "0") 
    { 
     btnShowButtonText.Text = "Hide gift voucher details"; 
     lblShowText.Visible = true; 
     hiddenField.Value = "1"; 
    } 
    else 
    { 
     btnShowButtonText.Text = "Button"; 
     lblShowText.Visible = false; 
     hiddenField.Value = "0"; 
    } 
} 
相關問題