2011-10-26 34 views
2

我有一個基本的ASP.NET Web窗體應用程序。DetailsView將文本框空字符串轉換爲空

我給用戶使用Web窗體創造了記錄,並通過使用DetailsView控件更新它們的可能性。

的web表單存儲在文本框在DB * 空〜應變 *克正確的空白字段。

The 詳情查看將它們存儲爲數據庫中的null字段。

而且在DetailsView_ItemUpdated事件,如果我檢查e.newvaluese.oldvalues參數相應的字段是空值,以及(拋出異常),這意味着數據被已經發出爲空的服務器提交後。

DetailsView控件我使用模板和我設置的所有更新的參數在的SqlDataSourceConvertEmptyStringToNull =「假」

SqlDataSource的參數

<asp:Parameter Name="SHELF" Type="String" ConvertEmptyStringToNull="false"/> 

DetailsView控件

<asp:DetailsView runat="server" 
        ID="GvProductDetail" AutoGenerateRows="False" DataKeyNames="rowid" 
        DataSourceID="ProductDetailData" 
        OnItemUpdated="gvProductDetail_ItemUpdated"> 

<asp:TemplateField> 
    <HeaderTemplate>Stock Shelf &nbsp;</HeaderTemplate> 
    <ItemTemplate> 
     <%# Eval("Shelf") %> 
    </ItemTemplate> 
    <EditItemTemplate> 
     <asp:TextBox runat="server" ID="txtShelf" Text='<%# Bind("Shelf") %>' ></asp:TextBox> 
    </EditItemTemplate> 
</asp:TemplateField> 

那是可能的,綁定轉換空值爲null?我認爲這足以將UpdateParameters規則設置爲不將空字符串轉換爲空值,但顯然還有其他一些驚喜。有人可能會幫助嗎?

+0

您可能會發現從[這裏]東西(http://stackoverflow.com/questions/2170021/convertemptystringtonull-false - 還沒有轉換 - 仍然發生)相關的帖子 –

+0

@EmmanuelN,謝謝你的回答。我已經看過那篇文章,但沒有答案 – CiccioMiami

回答

1

我解決它含有<asp:TextBox>將ConvertEmptyStringToNull = 「假」 的每一個<asp:TemplateField>

<asp:TemplateField ConvertEmptyStringToNull="false"> 
    <HeaderTemplate>Stock Shelf &nbsp;</HeaderTemplate> 
    <ItemTemplate>&nbsp;<%# Eval("Shelf") %></ItemTemplate> 
    <EditItemTemplate> 
    <asp:TextBox runat="server" ID="txtShelf" Text='<%# Bind("Shelf") %>' > 
    </asp:TextBox> 
    </EditItemTemplate> 
</asp:TemplateField> 
相關問題