I have a problem with geting vaules form the Edit / Popup Form.
The underlying datasource is an Object.
I can Insert the values in the form, but my code gets only emtpy values.
What can be wrong
The underlying datasource is an Object.
I can Insert the values in the form, but my code gets only emtpy values.
What can be wrong
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Arbeitsprofile.aspx.cs" Inherits="Web.Stammdaten.Arbeitsprofile" %> <asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server"> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> <telerik:RadAjaxManager ID="AjaxManager" runat="server" DefaultLoadingPanelID="AjaxLoadingPanel" EnableHistory="True"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="grdArbeitsprofile"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="grdArbeitsprofile" LoadingPanelID="AjaxLoadingPanel" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadAjaxLoadingPanel ID="AjaxLoadingPanel" runat="server" Skin="Default" Transparency="70"> </telerik:RadAjaxLoadingPanel> <telerik:RadGrid ID="grdArbeitsprofile" runat="server" AllowSorting="True" AutoGenerateDeleteColumn="True" AutoGenerateEditColumn="True" GridLines="None" Skin="Sitefinity" OnInsertCommand="grdArbeitsprofile_InsertCommand"> <MasterTableView AutoGenerateColumns="False" EditMode="EditForms" CommandItemDisplay="Top" DataKeyNames="ID"> <Columns> <telerik:GridBoundColumn DataField="Bezeichnung" HeaderText="Bezeichnung" SortExpression="Bezeichnung" UniqueName="Bezeichnung" /> <telerik:GridBoundColumn DataField="Bemerkung" HeaderText="Bemerkung" SortExpression="Bemerkung" UniqueName="Bemerkung" /> </Columns> <EditFormSettings EditFormType="AutoGenerated" InsertCaption="Neues Arbeitsprofil" CaptionFormatString="Arbeitsprofil: {0}" CaptionDataField="Bezeichnung"> </EditFormSettings> </MasterTableView> <ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True"> <Selecting AllowRowSelect="True" /> </ClientSettings> </telerik:RadGrid> </asp:Content> using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Pepperhost.Greifplaner.Web.Data; using Telerik.Web.Design; using Telerik.Web.UI; namespace Web.Stammdaten { using DTO=Pepperhost.Greifplaner.Web.Data.DataTransferobjects; public partial class Arbeitsprofile : System.Web.UI.Page { DataProvider db = new DataProvider(); protected void Page_Load(object sender, EventArgs e) { grdArbeitsprofile.UpdateCommand+= new GridCommandEventHandler(grdArbeitsprofile_UpdateCommand); // grdArbeitsprofile.InsertCommand+= new GridCommandEventHandler(grdArbeitsprofile_InsertCommand); grdArbeitsprofile.NeedDataSource+=new GridNeedDataSourceEventHandler(grdArbeitsprofile_NeedDataSource); grdArbeitsprofile.DataSource = db.GetArbeitsprofilListe(); grdArbeitsprofile.DataBind(); } protected void grdArbeitsprofile_InsertCommand(object source, Telerik.Web.UI.GridCommandEventArgs e) { if (e.CommandName == RadGrid.PerformInsertCommandName) { GridEditableItem item = e.Item as GridEditableItem; try { DTO.Arbeitsprofil arbeitsprofil = new DTO.Arbeitsprofil(); arbeitsprofil.Bemerkung = (item["Bemerkung"].Controls[0] as TextBox).Text; arbeitsprofil.Bezeichnung = (item["Bezeichnung"].Controls[0] as TextBox).Text; db.CreateArbeitsprofil(arbeitsprofil); } catch (Exception ex) { grdArbeitsprofile.Controls.Add(new LiteralControl("Unable to update Employee. Reason: " + ex.Message)); e.Canceled = true; } } } protected void grdArbeitsprofile_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e) { try { grdArbeitsprofile.DataSource = db.GetArbeitsprofilListe(); grdArbeitsprofile.DataBind(); } catch (Exception ex) { grdArbeitsprofile.MasterTableView.NoRecordsTemplate = new NoRecordsTemplate(ex.Message); } finally { } } protected void grdArbeitsprofile_UpdateCommand(object source, Telerik.Web.UI.GridCommandEventArgs e) { GridEditableItem item = e.Item as GridEditableItem; try { DTO.Arbeitsprofil arbeitsprofil = new DTO.Arbeitsprofil(); arbeitsprofil.ID=(int)item.OwnerTableView.DataKeyValues[item.ItemIndex]["ID"]; arbeitsprofil.Bemerkung = (item["Bemerkung"].Controls[0] as TextBox).Text; arbeitsprofil.Bezeichnung = (item["Bezeichnung"].Controls[0] as TextBox).Text; db.UpdateArbeitsprofil(arbeitsprofil); } catch (Exception ex) { grdArbeitsprofile.Controls.Add(new LiteralControl("Unable to update Employee. Reason: " + ex.Message)); e.Canceled = true; } } } class NoRecordsTemplate : ITemplate { private string _Message; public NoRecordsTemplate(string Message) { _Message = Message; } public void InstantiateIn(Control container) { Label lbl = new Label(); lbl.ID = "Label1"; lbl.Text = _Message; lbl.ForeColor = System.Drawing.Color.RoyalBlue; container.Controls.Add(lbl); } } }