C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: int型にドロップダウンの何もなしを格納


(過去ログ 20 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■8414 / inTopicNo.1)  int型にドロップダウンの何もなしを格納
  
□投稿者/ トラフィ (5回)-(2007/09/28(Fri) 21:49:21)

分類:[ASP.NET (C#)] 

VC# で WEBアプリです
int型のものにドロップダウンリスト(test)の値を格納したいんですが、選択が無い場合、エラーが出てしまうので選択が無い場合は0をいれるようにしたいです。
*の部分にヌルのものを入れればいけると思えるんですがいろいろ試しましたがどうしてもエラーでうまくいきません。

今手元にVSがないのでエラー内容をかけませんが、どう書いたらエラーが無くtestに値を正しく入れれるのでしょうか。。
お願いします。intで受け取るのは変えません。
int test  = Convert.ToInt32(test.SelectedValue) == * ? 0 : Convert.ToInt32(test.SelectedValue);

お願いします
引用返信 編集キー/
■8419 / inTopicNo.2)  Re[1]: int型にドロップダウンの何もなしを格納
□投稿者/ mあ (83回)-(2007/09/29(Sat) 03:27:54)
2007/09/29(Sat) 03:28:13 編集(投稿者)
No8414 (トラフィ さん) に返信
> VC# で WEBアプリです       
> int型のものにドロップダウンリスト(test)の値を格納したいんですが、選択が無い場合、エラーが出てしまうので選択が無い場合は0をいれるようにしたいです。
> *の部分にヌルのものを入れればいけると思えるんですがいろいろ試しましたがどうしてもエラーでうまくいきません。

Validator使わないのですか?
事前に何が入ってるのか確認しないのですか?

if (test.Value.Equals("")) iValue = 0;
else iValue = Convert.ToInt32(test.Value);
----------------------------------------------
int iValue = 0;
try {
   iValue = Convert.ToInt32(test.SelectedValue);
}
catch (Exception ex) {
  //
}
----------------------------------------------

普通、未選択状態が0なら、未選択は選択してないだけでデフォルトの選択肢ってことだから、
デフォルトの選択肢に値を設定しておけばいいだけの話とも言えますよね?


引用返信 編集キー/
■8422 / inTopicNo.3)  Re[1]: int型にドロップダウンの何もなしを格納
□投稿者/ 渋木宏明(ひどり) (421回)-(2007/09/29(Sat) 05:13:10)
渋木宏明(ひどり) さんの Web サイト
> int test  = Convert.ToInt32(test.SelectedValue) == * ? 0 : Convert.ToInt32(test.SelectedValue);

null チェックするなら Convert した値を評価しちゃ駄目じゃん?

int test = (test.SelectedValue == null) ? 0 : Convert.ToInt32(test.SelectedValue);

とかでは。


引用返信 編集キー/
■8423 / inTopicNo.4)  Re[2]: int型にドロップダウンの何もなしを格納
□投稿者/ 渋木宏明(ひどり) (422回)-(2007/09/29(Sat) 05:15:23)
渋木宏明(ひどり) さんの Web サイト
> ----------------------------------------------
> int iValue = 0;
> try {
> iValue = Convert.ToInt32(test.SelectedValue);
> }
> catch (Exception ex) {
> //
> }
> ----------------------------------------------

こうゆうところで例外あてにするのはよくないと思う。

引用返信 編集キー/
■8476 / inTopicNo.5)  Re[2]: int型にドロップダウンの何もなしを格納
□投稿者/ トラフィ (6回)-(2007/10/01(Mon) 12:59:53)
No8422 (渋木宏明(ひどり) さん) に返信
>> int test  = Convert.ToInt32(test.SelectedValue) == * ? 0 : Convert.ToInt32(test.SelectedValue);
>
> null チェックするなら Convert した値を評価しちゃ駄目じゃん?
>
> int test = (test.SelectedValue == null) ? 0 : Convert.ToInt32(test.SelectedValue);
>
> とかでは。
例外の詳細: System.FormatException: 入力文字列の形式が正しくありません。
と返ってきてしまいました。。。;;
引用返信 編集キー/
■8485 / inTopicNo.6)  Re[3]: int型にドロップダウンの何もなしを格納
□投稿者/ ps8rX (12回)-(2007/10/01(Mon) 14:40:34)
No8476 (トラフィ さん) に返信

>> null チェックするなら Convert した値を評価しちゃ駄目じゃん?
>>
>> int test = (test.SelectedValue == null) ? 0 : Convert.ToInt32(test.SelectedValue);
>>
>> とかでは。
>例外の詳細: System.FormatException: 入力文字列の形式が正しくありません。
>と返ってきてしまいました。。。;;

nullというか、値がない状態?

test.SelectedValue の型はstringなので

int test = test.SelectedValue == "" ? 0 : Convert.ToInt32(test.SelectedItem.Value);

これでいいと思いますが。
引用返信 編集キー/
■8492 / inTopicNo.7)  Re[4]: int型にドロップダウンの何もなしを格納
□投稿者/ 渋木宏明(ひどり) (436回)-(2007/10/01(Mon) 15:47:09)
渋木宏明(ひどり) さんの Web サイト
> >例外の詳細: System.FormatException: 入力文字列の形式が正しくありません。
> >と返ってきてしまいました。。。;;

ComboBox のスタイルは?

それによっては SelectedValue じゃなくて SelectedIndex 見たほうがいい時もあります。

> nullというか、値がない状態?
>
> test.SelectedValue の型はstringなので

なんも選択されていない状態もありうるので、その場合は null。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -