2012-02-08 18 views
1

Sharepoint WebPartを作成しました。これには、グリッド(Telerik RadGrid、まったく関係ありませんが、むしろ無関係です)を含むカスタムToolPartを与えました。私は、グリッドを埋め、そしてグリッドに追加するGridButtonColumnオブジェクトを作成しました:Sharepoint Toolpartイベントが起動しない

protected override void CreateChildControls() 
{ 
      GridButtonColumn c = new GridButtonColumn(); 
      c.ConfirmText = "Really Delete?"; 
      c.ConfirmDialogType = GridConfirmDialogType.RadWindow; 
      c.ConfirmTitle = "Delete"; 
      c.ButtonType = GridButtonColumnType.LinkButton; 
      c.Text = "Delete"; 
      c.UniqueName = "DeleteColumn"; 
      grid.Columns.Add(c); 
    // ... 

    grid.DeleteCommand += new GridCommandEventHandler(Grid_DeleteCommand); 
} 

グリッドが正しくレンダリング - データとし、削除ボタン存在が移入します。

ここで、削除ボタンのいずれかをクリックすると、Grid_DeleteCommand()イベントは発生しません。

Button b = new Button(); 
    b.Text = "Hello World"; 
    b.Click += new EventHandler(Button_Click); 

私はSharepointののこのインストールでデバッグすることはできませんよ(または多分私がすることができますが、プロセスhasnにアタッチ:私は、グリッドの外にランダムボタンを追加するときしかし、それはイベントがトリガされます]をクリックしますまだ私が許可していないので)、その両方のイベントの方法は単にGoogleへのリダイレクトです。それは私がイベントの火かどうかを確認する方法である:

string AbsoluteUri ="http://www.google.com"; 
    Page.Response.Redirect(AbsoluteUri); 

持つのに対し、私は2つの間で見ることができる唯一の違いは、「削除」ボタンで、それがグリッドコントロールの内部にネストされた、ということです「Hello World」ボタン、入れ子はありません。

グリッド内のボタンをクリックすると、どのようにしてGrid_DeleteCommandが発射されるのですか?

答えて

1

Telerik Gridコントロールを使用すると、コードにボタンのCommandNameを指定する必要があります。

この行を追加すると、問題を解決する必要があります:

c.CommandName = "Delete"; 
関連する問題