Asp.net DetailsView将文本框空字符串转换为null
我有一个基本的ASP.NET Web表单应用程序 我允许用户使用Web表单创建记录,并使用详细视图更新记录 web表单将文本框上的空字段正确地存储为数据库中的*empty strin*g DetailsView将它们存储为数据库中的null字段 此外,如果我检查e.newvalues和e.oldvalues参数,则在DetailsView\u ItemUpdated事件中,相应的字段也为null(引发异常),这意味着数据在提交时已作为null发送到服务器 在详细信息视图中,我使用模板,并将SQLDataSource中的所有更新参数设置为ConvertEmptyStringToNull=“false” SQLDataSource参数:Asp.net DetailsView将文本框空字符串转换为null,asp.net,binding,detailsview,string,Asp.net,Binding,Detailsview,String,我有一个基本的ASP.NET Web表单应用程序 我允许用户使用Web表单创建记录,并使用详细视图更新记录 web表单将文本框上的空字段正确地存储为数据库中的*empty strin*g DetailsView将它们存储为数据库中的null字段 此外,如果我检查e.newvalues和e.oldvalues参数,则在DetailsView\u ItemUpdated事件中,相应的字段也为null(引发异常),这意味着数据在提交时已作为null发送到服务器 在详细信息视图中,我使用模板,并将SQL
<asp:Parameter Name="SHELF" Type="String" ConvertEmptyStringToNull="false"/>
细节视图
<asp:DetailsView runat="server"
ID="GvProductDetail" AutoGenerateRows="False" DataKeyNames="rowid"
DataSourceID="ProductDetailData"
OnItemUpdated="gvProductDetail_ItemUpdated">
<asp:TemplateField>
<HeaderTemplate>Stock Shelf </HeaderTemplate>
<ItemTemplate>
<%# Eval("Shelf") %>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" ID="txtShelf" Text='<%# Bind("Shelf") %>' ></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
货架
Bind是否可能将空值转换为null?我认为设置UpdateParameters规则不将空字符串转换为null就足够了,但显然还有一些其他的惊喜。有人可以帮忙吗?我将ConvertEmptyStringToNull=“false”放在每个包含
的上,解决了这个问题:
货架
您可能会从相关的post@EmmanuelN,谢谢你的回答。我之前已经看过那篇文章了,但是没有答案
<asp:TemplateField ConvertEmptyStringToNull="false">
<HeaderTemplate>Stock Shelf </HeaderTemplate>
<ItemTemplate> <%# Eval("Shelf") %></ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" ID="txtShelf" Text='<%# Bind("Shelf") %>' >
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>