0

我这辈子都想不通!我想要做的是在第一页加载时将按钮的文本和标签的文本设置为当前时间。但是,当用户单击按钮时,只有标签的文本会更新为当前时间,而按钮的文本仍然是页面首次加载时的时间。我知道我可以用 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();





}
4

2 回答 2

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 上,因此您可以从中设置按钮文本。

于 2012-04-22T20:21:04.157 回答
0

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

if (Page.IsPostBack)
   return
于 2012-04-22T19:06:11.247 回答