Wie man den Wert einer textbox auf RadGrid ItemCommand-event-handler, wenn eine Benutzerdefinierte Befehl?

Ich bin mit RadGrid Form Vorlagen wie unten;

<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>

Wenn Sie die Verknüpfung Aktualisieren " - button geklickt wird auf meinem RadGrid, das Bearbeiten-Formular angezeigt wird.
Dann klicke ich die Verbindung Testen Schaltfläche "link" und ItemCommand-Ereignis ausgelöst wird.

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;
    }
}

Das problem ist, dass die gridEditFormItem variable null ist in diesem Stadium, so kann ich nicht herausfinden, den Wert im Textfeld "ServerName" zum Beispiel.

Wie man den Wert von der textbox auf RadGrid ItemCommand-event-handler?

Wenn ich auf die Standard-link einfügen-Schaltfläche der RadGrid statt, die gridEditFormItem Wert hat, so kann ich einfach den Wert meiner textbox gibt.

Bitte helfen.

Dank,

InformationsquelleAutor The Light | 2011-10-26

Schreibe einen Kommentar