我有一个为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"];
}
有谁知道如何解决这个问题?
由于
答案 0 :(得分:5)
e.NewValues集合为空,因为您没有将编辑器绑定到数据。要使代码正常工作,应按如下方式进行更改:
Company Name: <dx:ASPxTextBox ID="CompanyName" runat="server" Value="<% #Bind('CompanyName')%>"/>
Company Mail: <dx:ASPxTextBox ID="Email" runat="server" Value="<% #Bind('Email')%>"/>
答案 1 :(得分:0)
看起来您尝试将NewValues分配给字符串。获取NewValues似乎是一个更好的事件RowUpdatingEvent;您还可以访问OldValues。看看:http://documentation.devexpress.com/#AspNet/DevExpressWebASPxGridViewASPxGridView_RowUpdatingtopic