虽然这个标题有很多问题,但我的不同。
我正在使用绑定到sql数据源控件的ASP.NET ListView&因此没有添加任何转换。此外,我在ListView的插入事件中发送DBNull
值。
数据源代码:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Main %>" InsertCommand="pInsert" InsertCommandType="StoredProcedure"
SelectCommand="pGet" SelectCommandType="StoredProcedure" >
<DeleteParameters>
<asp:Parameter Name="Code" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:SessionParameter Name="SubscriptionCode" SessionField="EntryCode" Type="Int32" DefaultValue="-1" />
<asp:Parameter Name="Attachment" Type="Object" />
</InsertParameters>
<SelectParameters>
<asp:SessionParameter Name="SubscriptionCode" SessionField="EntryCode" Type="Int32" DefaultValue="-1" />
<asp:Parameter DefaultValue="false" Name="ForEdit" Type="Boolean" />
</SelectParameters>
</asp:SqlDataSource>
守则背后:
protected void lv_ItemInserting(object sender, ListViewInsertEventArgs e)
{
e.Values["Attachment"] = DBNull.Value;
}
我还尝试删除指定here
的Type="Object"
属性
答案 0 :(得分:1)
从此行Type="Object"
中删除<asp:Parameter Name="Attachment" Type="Object" />
属性并在后面的代码中尝试此操作:
protected void lv_ItemInserting(object sender, ListViewInsertEventArgs e)
{
e.Values["Attachment"] = System.Data.SqlTypes.SqlBinary.Null;
}
答案 1 :(得分:1)
这是另一种解决方案。只需尝试以下代码即可。
数据源代码:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:Main %>" InsertCommand="pInsert" InsertCommandType="StoredProcedure"
SelectCommand="pGet" SelectCommandType="StoredProcedure" >
<DeleteParameters>
<asp:Parameter Name="Code" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:SessionParameter Name="SubscriptionCode" SessionField="EntryCode" Type="Int32" DefaultValue="-1" />
<asp:Parameter Name="Attachment" />
</InsertParameters>
<SelectParameters>
<asp:SessionParameter Name="SubscriptionCode" SessionField="EntryCode" Type="Int32" DefaultValue="-1" />
<asp:Parameter DefaultValue="false" Name="ForEdit" Type="Boolean" />
</SelectParameters>
</asp:SqlDataSource>
守则背后:
protected void lv_ItemInserting(object sender, ListViewInsertEventArgs e)
{
e.Values["Attachment"] = -1;
}