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 に答える