0

「rbtnDelete」という名前のラドボタンがあります。ここでは、ページの OnInit メソッドに以下のコードを登録しようとしています

ClientScript.RegisterClientScriptBlock(this.GetType(), "ConfirmDelete", 
                                                objUtl.RadConfirmDelete(),true);
this.rbtnDelete.Attributes.Add("OnClientClicking",
"function(sender,args){ConfirmDelete(sender, args, 'dgvContactList',
'hidContactRowCount');}");

.しかし、それは機能していません。しかし、このコードでaspxで使用しようとすると、正常に動作します

OnClientClicking="function(sender,args)
{
   ConfirmDelete(sender,args,'dgvContactList','hidContactRowCount');
}"
4

1 に答える 1

1

OnClientClicking は、標準の DOM イベントではなく、RadButton を表す JavaScript クラスの AJAX イベントです。あなたが使用したアプローチは、DOM イベント (以下の 2 番目の例のように) の場合にうまく機能しますが、Telerik には AJAX API があるため、代わりに次のことができるはずです。

this.rbtnDelete.OnClientClicking = 
"function(sender,args){ConfirmDelete(sender, args, 
    'dgvContactList','hidContactRowCount');}";

DOM 固有の方法は次のとおりです。

this.rbtnDelete.Attributes.Add("onclick",
"function(sender,args){ConfirmDelete(sender, args, 'dgvContactList',
'hidContactRowCount');}");

後者を行う場合は、フォーム送信の伝播を停止する必要があります。前者の場合、これがより良い選択肢になります。

于 2012-11-20T17:32:30.700 に答える