1

このサイトや他のサイトで解決策を検索しましたが、正確なケースを見つけることができなかったので、ここに...

モーダル ポップアップ エクステンダを使用してモーダル ポップアップとして使用されるパネルがあります。このパネルの内部には、マルチビュー コントロールを含む更新パネルがあります。マルチビューのビューにはグリッドが含まれています。ビューごとに異なるグリッド。グリッドの左端のフィールドは、リンク ボタンを含むテンプレート フィールドです。これにより、コードビハインドが起動され、別のページにリダイレクトされます代わりに、データが表示されていない状態でポップアップを再度開いたように見えます。

では、私が実行するイベントを以下に示します。

グリッドを含むポップアップを開く Web ページのボタンをクリックします。正しいグリッドを含む正しいビューが表示され、データは正しいです。新しいページに移動するリンクボタンをクリックすると、グリッドにデータがない同じポップアップが表示されます。

この正確な機能を別の Web ページで使用していますが、唯一の違いは、マルチビューを使用していないことです。ただし、更新パネル内のグリッドのリンクボタンがコードビハインドを起動することは少なくとも知っています。

同じように反応する画像ボタンを試しました。ハイパーリンク フィールドは機能し、使用できますが、リンクボタンを機能させて、もう少し柔軟性を持たせることができるかどうかを確認したいと考えています。

4

2 に答える 2

0

LinkBut​​ton に Click イベントを追加できます。これは、RowCreated でグリッドを反復処理するときに追加します。

void GridView_RowCreated(Object sender, GridViewRowEventArgs e)
  {
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
      LinkButton button= (LinkButton)e.Row.FindControl("IdButton");
      button.Click += YourDelegate; //Adjust here your called delegate
    }
  }

注: データを投稿するたびにグリッドを再バインドしないようにする必要があります

使用できます

if( ! IsPostBack)
{
  //Bind your grid
}

あなたはViewStateを持っています

于 2012-10-09T17:18:52.490 に答える
0

新しいページに移動するリンクボタンをクリックすると、グリッドにデータがない同じポップアップが表示されます。

それによって、モーダル ポップアップ マルチビューの現在のビュー内のリンクをクリックして、別のビューに移動するとします。これを完全にスキップして、代わりに ASP.NET AJAX ツールキットのタブ コントロールを使用できます。各グリッドビューを個別のタブ内に配置して、リンク ボタンを削除できます。

于 2012-10-10T09:23:24.043 に答える