在Postback上保留Button的文本

时间:2012-04-22 18:56:04

标签: c# asp.net ispostback

我不能为我的生活搞清楚这一点!我想要做的是在第一页加载时将按钮的文本和标签的文本设置为当前时间。但是,当用户单击按钮时,只有标签的文本更新为当前时间,按钮的文本仍然是首次加载页面的时间。我知道我可以用Ajax做到这一点,但我知道有办法只使用IsPostBack方法。任何人都可以帮助我吗?

public partial class TestPage : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)
{

    Button1.Text = "Initial Page Load Time: " + DateTime.Now.ToLongTimeString() + ". (Click to update current time in Label)";
    Label1.Text = "Current Time: " + DateTime.Now.ToLongTimeString();





}

2 个答案:

答案 0 :(得分:1)

在页面中添加HiddenField,然后将代码更改为;

protected void Page_Load(object sender, EventArgs e)
{
    if ( !Page.IsPostBack ){
        HiddenField1.Value = "Initial Page Load Time: " + DateTime.Now.ToLongTimeString() + ". (Click to update current time in Label)";
    }
    Button1.Text = HiddenField1.Value;
    Label1.Text = "Current Time: " + DateTime.Now.ToLongTimeString();
}

HiddenField值将保留在PostBack上,以便您可以从中设置按钮文本。

答案 1 :(得分:0)

只需在设置文字之前添加:

if (Page.IsPostBack)
   return