2010-06-24 4 views
1

J'ai un ModalPopup dans le ItemTemplate d'un GridView commevaleur en revenir de Modal PopUp

<ItemTemplate> 
    <asp:LinkButton ID="lnkbtnSeek" CommandArgument='<%# Eval("ID") %>' runat="server" Text= "Info" CommandName="Seek" /> 
    <asp:Panel ID="pnlProject" runat="server" Style="display: none" CssClass="ModalPopupPanel"> 
    <div style="float: right;"> 
     <asp:LinkButton ID="lnkClose" runat="server" Text="Close" /> 
    </div> 
    <asp:Label ID="lblDescription" runat="server" Text="Give Description" /><br /><br /> 
    <asp:TextBox ID="txtDescription" runat="server" Height="150px" Width="100%" TextMode="MultiLine" /> 
    <br /> 
    <asp:Button ID="btnSubmit" OnClientClick="<% %>" runat="server" Text="Submit" CommandArgument='<%# Eval("Id") %>' OnCommand="btnSubmit_Click" /> 
    </asp:Panel> 
    <asp:ModalPopupExtender id="extProject" runat="server" targetcontrolid="lnkbtnSeek" popupcontrolid="pnlProject" dropshadow="true" backgroundcssclass="ModalPopupBackground" cancelcontrolid="lnkClose" /> 
</ItemTemplate> 

Maintenant, quand cliquez sur btnsubmit Je veux obtenir la valeur txtDescription en cas de bouton de commande. Sinon, tout fonctionne bien. En appuyant sur le bouton Info Link, je suis capable de faire apparaître le popup modal et de cliquer sur le bouton capable de faire le travail (sinon les données de la zone de texte). Aussi seulement capable d'appeler l'événement Gridview_RowCreated pas d'autres événements même Gridview_RowCommand ne se déclenche pas. Mais les événements dont je n'ai pas besoin si je peux obtenir la valeur de cette txtbox quelque part.

Comment l'obtenir?

Merci.

Répondre

0

A l'intérieur de votre événement btnSubmit_Click, vous avez le bouton particulier qui a été cliqué:

Button btnSubmit = (Button)sender; 

Ensuite, vous pouvez naviguer à partir de là

TextBox txtDescription = btnSubmit.Parent.FindControls("txtDescription") as TextBox; 
+0

impressionnant. Ça a marché. Je n'ai pas vu cette propriété Parent. Nice et merci beaucoup. – Nits

0

Vous devez passer refernce lorsque vous ouvrez la boîte de dialogue:

var vReturn = window.showModalDialog(<url here>, self, <features here>); 

Dans votre boîte de dialogue modale, entrez le code suivant:

var opener = window.dialogArguments;