Comment obtenir la valeur d'un textbox sur RadGrid ItemCommand gestionnaire d'événements lors de l'utilisation d'une Commande Personnalisée?

Je suis en utilisant RadGrid les Modèles de Formulaire ci-dessous;

<EditFormSettings EditFormType="Template">
    <FormTemplate>
        <table id="tblEditForm" cellpadding="2" cellspacing="2" width="100%" border="2px"
            class="tblEditForm">                           
            <tr>
                <th>
                    Server Name:
                </th>
                <td>
                    <asp:TextBox ID="tbServerName" runat="server" Text='<%# Bind("ServerName") %>' CssClass="tbServerName">
                    </asp:TextBox>
                </td>
            </tr>                                        
            <tr>
                <td colspan="2">
                    <div style="text-align: left; padding-left: 10px;display: inline; width: 50%">

                        <asp:LinkButton ID="lbTestConnection" runat="server" Text="Test Connection" CommandName="TestConnection" />
                        (It may take up to 15 seconds.)
                        <br />                                                                         
                    </div>
                    <asp:Label ID="lblTestConnectionResult" runat="server" CssClass="testConnectionResult"></asp:Label>      
                    <div style="text-align: right; padding-right: 10px;display: inline; float: right;">
                        <asp:Button ID="btnUpdate" Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>'
                            runat="server" CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>'>
                        </asp:Button>&nbsp;
                        <asp:Button ID="btnCancel" Text="Cancel" runat="server" CausesValidation="False"
                            CommandName="Cancel"></asp:Button>
                    </div>
                </td>
            </tr>
        </table>
    </FormTemplate>
</EditFormSettings>

Lorsque le lien de mise à Jour bouton est cliqué sur mon RadGrid, le Formulaire d'Édition s'affiche.
Puis je clique sur le Test de Connexion bouton de lien et ItemCommand événement est déclenché.

public void OnRadGridItemCommand(object sender, GridCommandEventArgs e)
{
    if (e.CommandName == "TestConnection")
    {               
        var gridEditFormItem = e.Item as GridEditFormItem;
        if (gridEditFormItem == null)
            throw new ApplicationException("gridEditFormItem is null");
        var serverNameTextBox = gridEditFormItem.FindControl("tbServerName") as TextBox;
    }
}

Le problème est que le gridEditFormItem variable est null à ce stade, si je ne peux pas comprendre la valeur de la zone nom du serveur par exemple.

Comment obtenir la valeur de la textbox sur RadGrid ItemCommand gestionnaire d'événement?

Si je clique sur la valeur par défaut bouton insérer un lien de la RadGrid au lieu de cela, le gridEditFormItem a de la valeur, donc je peux tout simplement de trouver la valeur de ma zone de texte là.

S'il vous plaît aider.

Merci,

InformationsquelleAutor The Light | 2011-10-26