Получить значения из пользовательской формы в ASPxGridView

У меня есть настраиваемая форма редактирования, созданная для ASPxGridView, но у меня большая проблема с получением значений при вставке.

Шаблон:

<Templates>
    <EditForm>
        Company Name: <dx:ASPxTextBox ID="CompanyName" runat="server" />
        Company Mail: <dx:ASPxTextBox ID="Email" runat="server" />

        <dx:ASPxGridViewTemplateReplacement ID="UpdateButton" ReplacementType="EditFormUpdateButton" runat="server" />
        <dx:ASPxGridViewTemplateReplacement ID="CancelButton" ReplacementType="EditFormCancelButton" runat="server" />

    </EditForm>
</Templates>

это не удается, e.NewValues ​​пусты

protected void ASPxGridView1_RowInserting(object sender, DevExpress.Web.Data.ASPxDataInsertingEventArgs e)
{
    string CompanyName = (string)e.NewValues["CompanyName"]; // (or .toString())
    string Email = (string)e.NewValues["Email"];
}

Кто-нибудь знает, как это решить?

Спасибо


person Eric Herlitz    schedule 07.06.2011    source источник


Ответы (2)


Коллекция e.NewValues ​​пуста, поскольку вы не привязали редакторов к данным. Чтобы ваш код работал, его следует изменить следующим образом:

Company Name: <dx:ASPxTextBox ID="CompanyName" runat="server" Value="<% #Bind('CompanyName')%>"/>
Company Mail: <dx:ASPxTextBox ID="Email" runat="server" Value="<% #Bind('Email')%>"/>
person DevExpress Team    schedule 07.06.2011
comment
Я столкнулся с той же проблемой, но мои элементы управления уже связаны с помощью #Bind. Я заметил, что только те элементы управления, которые находятся внутри моего ASPxPageControl, теряют свои значения. Их значения не будут отправлены через e.NewValues, что бы я ни делал. @DevExpressTeam - person MMalke; 30.10.2014

Похоже, вы пытаетесь присвоить NewValues ​​​​строке. RowUpdatingEvent кажется лучшим событием для получения NewValues; у вас также будет доступ к OldValues. Ознакомьтесь с этим: http://documentation.devexpress.com/#AspNet/DevExpressWebASPxGridViewASPxGridView_RowUpdatingtopic

person Rich    schedule 07.06.2011