【问题标题】:Retrieve values from custom form in ASPxGridView从 ASPxGridView 中的自定义表单中检索值
【发布时间】:2011-06-07 13:22:14
【问题描述】:

我有一个为 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"];
}

有人知道怎么解决吗?

谢谢

【问题讨论】:

    标签: asp.net devexpress aspxgridview


    【解决方案1】:

    e.NewValues 集合为空,因为您没有将编辑器绑定到数据。为了使您的代码正常工作,应将其更改如下:

    Company Name: <dx:ASPxTextBox ID="CompanyName" runat="server" Value="<% #Bind('CompanyName')%>"/>
    Company Mail: <dx:ASPxTextBox ID="Email" runat="server" Value="<% #Bind('Email')%>"/>
    

    【讨论】:

    • 我也面临同样的问题,但我的控件已经使用#Bind 绑定了。我注意到只有我的 ASPxPageControl 中的控件才会丢失它们的值。无论我做什么,它们的值都不会通过 e.NewValues 发送。 @DevExpressTeam
    【解决方案2】:

    看起来您试图将 NewValues 分配给一个字符串。 RowUpdatingEvent 似乎是获取 NewValues 的更好事件;您还可以访问 OldValues。看看吧:http://documentation.devexpress.com/#AspNet/DevExpressWebASPxGridViewASPxGridView_RowUpdatingtopic

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-10-14
      • 1970-01-01
      • 2012-12-02
      • 1970-01-01
      • 2013-09-22
      • 2015-09-10
      • 1970-01-01
      相关资源
      最近更新 更多