2009-05-28 8 views
0

クリックするとモーダルポップアップを起動する動的に作成されたグリッドビューボタンがあります。私はこのようにonclientsideをこうします:誰でもこの手伝いできますか?更新パネルを部分的にクライアント側にリフレッシュする

function openModal(btnId, v) { 
deptdata(v); 
    // __doPostBack('<%=DropDownList1.ClientID %>', ''); 
    btn = document.getElementById(btnId); 
    btn.click(); 
} 
function deptdata(v) { 
    document.getElementById('<%=vendor.ClientID%>').value = v; 

} 

これは、コード内で関数が呼び出される方法です。

btnedit.OnClientClick = String.Format("openModal('{0}','" & GridView1.Rows(i).Cells(0).Text & "');return false;", hidden.ClientID) 

私は隠しフィールド(ベンダー)の値を設定するが、私は、モーダルポップアップで何のためにその値を必要とします。私はその新たに設定された変数に依存するドロップダウンリストを持っています。変数は、クリックされた行に応じて設定されます。だから私は何とかそのポップアップをリロードする必要があります。私は更新パネルを持っていますが、パネルを再ロードすることはできません。私は__doPostbackを試してみたが、それは役に立たなかった。任意のアイデアをどのようにパネルやパネルのドロップダウンを更新するjavascriptを使用してですか?

答えて

0

あなたの説明と制限されたコードから、あなたがしようとしているものと何が失敗しているのかが分かりません。しかし、次のようなことが考えられます。あなたが詳細とコードを提供すれば、誰かがあなたに良い答えを与えることができるかもしれません。

ScriptManager1.RegisterAsyncPostBackControl(Button1);

jsからのパネルポストバックをトリガーするには、ClientIDではなくUniqueIDを使用することをお勧めします。これは、非同期ポストバックが機能しない共通の問題点です。

__doPostBack( "<%= Button1.UniqueID%>"、 "");

個人的には、私はすべてUpdatePanelsをあきらめていますが、私はもっとも簡単なケースでのみ使用します。私は私のjsをASP.Net JSON webserviceと呼んで、完成した関数をHTMLに必要な変更をレンダリングすることを好みます。大規模なグリッドや多数のコントロールを持つページでは、柔軟性が高く、軽く、無限に高速です。

関連する問題