2012-04-30 16 views
0

私はいくつかの助けを望んでいます。私は文字列の値を持っている - YまたはNとして戻ってくるだろう。私はこれを変換し、ページ上の読み取り専用のチェックボックスとして表示したいと思うページで。ASP.NET MVC 3 - Boolとして文字列値を表示

私は

@Html.CheckboxFor(model => Convert.ToBoolean(MyString)) 

を試してみましたが、それはそれが好きではありません。誰も私がこれを達成できる方法を知っていますか?私はC#コントローラのページで文字列をboolに変換する必要がありますか?

+0

正常に動作します(http://stackoverflow.com/a/8895568/570150)[どのよう] '' "Y" を評価しますブールに変換すると思いますか?あなたができることは、少なくともConvert.ToBoolean(MyString == "Y") ' – V4Vendetta

答えて

1

変換を行うモデルをフィールドに作成します。 CheckBoxForは、式に基づいてプロパティ名を知る必要があるため、Expression<Func<TModel, Boolean>>が必要です。

-1
string stringValue = "true"; 
bool value; 
bool.TryParse(stringValue, out value); 

またはASP.NET

@Html.CheckboxFor(model => C bool.Parse(model.MyString)) 
0

なぜあなたはY/N値を持つ文字列として保存されていますか?

CheckboxFor()でそれを実行できるかどうかわかりません。代わりに通常のチェックボックスを使用し、無効にして値がMyString == "Y"であることを確認する必要があります。ストレージオプション。

もっと賢明なのは、データベースへの途中でY/Nをtrue/falseに変更することです。これにより、データをより実用的に使用できるようになります。これは動作するかもしれ

Html.CheckBoxFor @(モデル=> Model.MyString == "Y"、新しい{@ReadOnly = "読み取り専用"})

:何について

+0

です。残念ながら、データを私に送り返して、Y/Nを文字列として保存するサードパーティー –

0

この簡単な方法は、

@Html.CheckBox("IsActive", Model.MyString == "Y" ? true : false) 
関連する問題