2011-01-07 10 views
0

グリッドビューを使用して、表示リンクをクリックできるようにし、jqueryダイアログをポップアップして、ボタンがある行から表示されるより多くのデータを表示します。それが表示される前に私がコントロールを移入しようとしているグリッドビューから起動されたjqueryダイアログにデータを入力します

<asp:LinkButton ID="btnViewDetails" runat="server" Text="View" CommandName="ViewDetails" 
           CausesValidation="false" CommandArgument='<%#Eval("CustomerID")%>' 
           OnClientClick="showDialog('viewCustomer');"></asp:LinkButton> 

私はjqueryのダイアログ上のフィールドを移入するために、この前のサーバ側(のASP .NET)を実行したいが、ポップアップを表示するリンクボタンRowCommandでは、これはjqueryポップアップが表示された後に発生し、次回に「View」ボタンをクリックすると、選択された前の行のデータが表示されます。

大幅に任意のヘルプ

答えて

1

を感謝し、私はあなたがOnClientClickでダイアログをトリガしないように示唆しています。代わりに、AJAX呼び出しをトリガーして、サーバー側から表示するデータを入力することができます。 AJAXの正常終了時にダイアログを起動します。あなたにShowDialogで

string script = "$(function(){showDialog('viewCustomer');});"; 
ScriptManager.RegisterStartupScript(this, this.Page.GetType(), "showdialog", script, true); 
//Or if not using ScriptManager 
//Page.ClientScript.RegisterStartupScript(this.Page.GetType(), "showdialog", script, true); 

:あなたはこのようなダイアログ何かを開くために、あなたからのコードビハインドJavaScriptを注入するJavaScript

function TriggerAjax(input) { 
      $.ajax({ 
         url: "SeverPage.aspx?input=" + input 
         cache: false, 
         success: function(response) { 
          showDialog(response); 
         } 
        }); 
} 
0

でこの

OnClientClick="TriggerAjax(yourInput)" 

よう

何かjqueryダイアログを開きます。 これらをチェックしてください:

Show jQueryDialog from code-behind

Inject javascript from code-behind

+0

感謝のGBSを、私は "ViewDetails" であることをe.Command名をチェックし、私のRowCommandメソッドにコードを追加しています。これはダイアログをポップアップしますが、ポストバックが発生したために直ちに閉じます。この問題を回避するには、アップデートパネルを使用する必要がありますか?あなたの助けに感謝。 – Washburn

+0

@Washburn:はい私は、UpdatePanelを使って処理してくれると確信しています。私はそれもそれなしで動作するはずだと思う。どちらを試しましたか? ScriptManagerなら、少なくともページのScriptManagerが必要です。 – gbs

関連する問題