0

これが私が2つの簡単なステップでやろうとしていることです:

1)新しい投稿を追加したり、既存の投稿を更新したりするためのテーブルとコントロールを内部に持つ新しい行(trNewPost)。

Default Visible=false;

2)ボタンを追加して上の行を表示します= true;

3)trMyPostsにはGridviewが含まれており、すべての投稿が表示されます。

デフォルトのvisible=true。

ユーザーがグリッドビューの任意の行の編集をクリックすると(RowCommandイベント)、このグリッド(trMyPosts)を非表示にして、trNewPostを表示したいだけです。

それで全部です。イベントが発生しますが、何も起こりません。

4

1 に答える 1

0

ビューステートに問題があると思います。

あなたができることの1つはこれです:

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            // do things here
        }
    }

何かが起こるたびに、ページがポストバックするためです。でカプセル化することによりPage_Load! Page.IsPostBackこれらのことが何度も繰り返されるのを防ぎます。

変数がグローバル変数の場合、これと同じ問題が発生します。代わりにSession変数の使用を検討してください。

また、念のため、次のコードをお見せしたいと思います。

    protected void HideShowClicked(object sender, EventArgs e)
    {
        // toggle the visibility of the control
        // (that is, if visible then hide, if hidden then show) 
        myControl.Visible = ! myControl.Visible;
    }
于 2011-06-28T18:01:03.247 に答える