2017-04-24 15 views
0

モーダルダイアログでデータをバインドする際に問題があります。 は、私は同様のASCXファイルを持っているボタンをクリックするとモーダルダイアログのDataBind GridView

<asp:Panel ID="ModalDialog" runat="server" Style="display: none;"> 
<asp:UpdatePanel runat="server" ID="UpdatePanel" ChildrenAsTriggers="true" UpdateMode="Conditional"> 
    <ContentTemplate> 
<asp:GridView runat="server" ID="ResultGridTest" AutoGenerateColumns="true" ShowHeader="true" Width="100%" /> 
    </ContentTemplate> 
    <Triggers> 
    <asp:PostBackTrigger ControlID="ResultGridTest" /> 
</Triggers> 
</asp:UpdatePanel> 
</asp:Panel> 

モーダルダイアログはjqueryのダイアログとして開かれ

$j("#ModalDialog").dialog("open"); 

問題は、私は渡された値に発射されたメソッドを処理する際のResultGridTestにデータをバインドしようとしているとき別のコントロールから、ResultGridHasには可視データがありません。 私の取り扱い方法:イベントは私のモーダルダイアログで発生した後

protected void GridViewControl_DataBindGridView(object sender, PassSelectedValuesEventArgs<Model> e) 
{ 
    ResultGridTest.DataSource = e.SelectedItems; 
    ResultGridTest.DataBind(); 
} 

は、あなたがデータをバインドする方法任意のアイデアを持っていますか? 助けてください

答えて

0

あなたのUpdatePanelにはUpdateModeが条件付きです。あなたは手動でそれを踏み台に移す必要があります。 UpdatePanel.Update()を追加します。 DataBind()の後にメソッドに追加します。

+0

まだ動作しない場合、ChildrenAsTriggersは、手動で起動されたのと同じ効果を引き起こす必要があります。UpdatePanelのUpdateメソッド –

+0

ChildrenAsTriggersは、直接の子要素で動作します。 UpdatePanelの直下の子要素はどれですか?私はContentTemplateを検討するかどうか混乱していますか? –

+0

ResultGridTestは子コントロールで、triggerpostbackで定義されています。私が間違っているなら、私を責めないでください。私はasp net webフォームでnoobです。 –

関連する問題