如何解决回调错误:特定转换无效
我在 Visual Basic 项目中使用了 devexpress 编辑表单。我要求用户在 ASPxGridView
上输入,其中一个值被称为 Start Date
,它在网格上声明为:
<dx:GridViewDataDateColumn Caption="Start Date" FieldName="StartDate" HeaderStyle-Wrap="true" UnboundType="String" EditFormSettings-VisibleIndex="1" >
<PropertiesDateEdit DisplayFormatString="D" EditFormatString="D" ValidationSettings-RequiredField-IsRequired ="true"></PropertiesDateEdit>
</dx:GridViewDataDateColumn>
数据源如下所示:
<asp:SqlDataSource ID="SqlDataSource" runat="server" ConnectionString="<%$ ConnectionStrings:SpEdPortalConnectionString %>"
SelectCommand="ProcedureName" SelectCommandType="StoredProcedure"
UpdateCommand="ProcedureName" UpdateCommandType="StoredProcedure"
InsertCommand="ProcedureName" InsertCommandType="StoredProcedure">
<SelectParameters>
***
</SelectParameters>
<UpdateParameters>
***
</UpdateParameters>
<InsertParameters>
***
<asp:Parameter Name="StartDate" Type="String" />
***
</InsertParameters>
</asp:SqlDataSource>
问题:即使我实际上为 StartDate 选择了一个日期值,插入到数据库中的值也是空的。
注意:回调错误只显示在已部署的服务器上,而不是在本地环境中。但在本地它插入空值,所以似乎问题也存在,但没有抛出异常。
解决方法
我找不到原因,但通过添加 EditTemplate 标记并手动绑定值解决了问题,如下所示:
<dx:GridViewDataDateColumn Caption="Start Date" FieldName="StartDate" HeaderStyle-Wrap="true" UnboundType="String" EditFormSettings-VisibleIndex="1" >
<PropertiesDateEdit DisplayFormatString="D" EditFormatString="D" ValidationSettings-RequiredField-IsRequired ="true"></PropertiesDateEdit>
<EditItemTemplate>
<dx:ASPxDateEdit ID="dteSD" runat="server" ClientInstanceName="dteSD"
Date='<%# Bind("StartDate") %>'>
</dx:ASPxDateEdit>
</EditItemTemplate>
</dx:GridViewDataDateColumn>
如果格式发生变化,您只需在 Theme
标签内添加 dx:ASPxDateEdit
属性
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。