Frage

Ich bin mit einem telerik RadGrid, mit einer Usercontrol bearbeiten Form. Wenn das Insert Ereignis ausgelöst wird, ich die Benutzer der Kontrolle bekommen und zu bearbeiten Kontrollen auf ihn finden, aber es Texteigenschaften sind all string.Empty. Ich vermute, dass dies etwas mit Viewstate zu tun hat, aber ich weiß nicht, wo man anfangen soll suchen.

protected void jobGrid_InsertCommand(object source, GridCommandEventArgs e)
{
    var editControl = e.Item.FindControl(GridEditFormItem.EditFormUserControlID) as JobEditControl;
    SqlJobProvider.InsertJob(GetFieldValues(editControl));
}

private Dictionary<string, object> GetFieldValues(UserControl editControl)
{
    string tb = (editControl.FindControl("aspText") as TextBox).Text;
War es hilfreich?

Lösung

Ich glaube, Ihre Kontrollen leer sind, weil Sie das Gitter vor dem eingefügten Ereignisse rebinding. Um ein solches Verhalten zu vermeiden Ich schlage vor, Sie füllen RadGrid das NeedDataSource Ereignis verwenden. Es wird ausgelöst, wenn das Gitter Rebinding muss.

Andere Tipps

Überprüfen Sie Ihre Page_Load zuerst und stellen Sie sicher, dass Sie nicht alles, was es auf die Seite mit jedem Treffer das Zurücksetzen werden. Wenn Sie keinen! IsPostBack haben, sind Sie wahrscheinlich. Das ist der häufigste Grund für die keine Werte bekommen, wenn Sie Beiträge verfassen.

Verwendung:     Private Sub RadGrid1_InsertCommand (ByVal Quelle als Gegenstand, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Griffe RadGrid1.InsertCommand         Dim insertedItem Wie GridEditableItem = e.Item.OwnerTableView.GetInsertItem ()

    Dim _userControl As UserControl = CType(insertedItem.FindControl(GridEditFormItem.EditFormUserControlID), UserControl)

... http://www.telerik.com/help/aspnet/grid/grdinsertingvaluesusercontrolformtemplate. html

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top