2012-01-13 10 views
1

ドロップダウンメニューのタイトルを追加しようとしています。 データがnullの場合、自動的に0に更新されるという問題があります。 データ行を作成するときには発生しません。 日付の種類はint32です。 面白いことに、私はnullを挿入することができますが、nullとして更新することはできません。asp.net dropdown null値の代わりに0が格納されます

解決策は2つのリスト項目を追加することでした。 値は "="です。これは初期データ用です。 (作成) もう1つは値= "0"です。これは更新後のものです。 しかし、これはかなり解決策ではありません。

データを更新すると整数がnullではなく0になります。 データ型が整数の場合、ドロップダウンメニュータイトルのために最善の解決策になるか

<asp:DropDownList ID="addl" runat="server" SelectedValue='<%# Bind("a") %>'> 
    <asp:ListItem Value="" Text="-Select-"></asp:ListItem> 
    <asp:ListItem Value="1">test1</asp:ListItem> 
    <asp:ListItem Value="2">test2</asp:ListItem>      
    <asp:ListItem Value="0" Text="-Select-"></asp:ListItem> 
</asp:DropDownList> 

...私は行を作成する場合はnull保存することは可能と思われますか? 文字列の場合は、単にvalue = ""を追加して、ちょうど時間を稼ぐことができます。 整数は、nullの場合は0を格納し、編集モードでのエラーを避けるためにnullを作成する必要があります。

答えて

2

Int32はnull不可能な型ではなく、デフォルトでは(初期化されていなくても)0になります。ヌル可能なInt32?を使用するか、他のインデックスを使用して[作成]オプションを示してみてください。

0

私はあなたが更新しようとしているものをintかなりわからないんだけど、それはあなたがあなたを管理している変数の場合はNULL可能intに標準intからそれを変更することで見ることができます。これは、これを変更するような単純なことができます。これに

int i; 

:SQL Serverで

int? i; 
+0

データ型はintです。更新パラメータは shinya

+0

パラメータが挿入されている場合は、nullを挿入できます。 shinya