2016-09-15 9 views
-1

この値は、cshtmlファイルのサーバーコードから受け取りました。そのブール値のフィールドと私はブール値を取得します。cshtmlでbool値をboolにキャストする

Order="@Model.OrderModel.IsToday" 

私はこれをやろうとしましたが、残念ながらToJsonにマウスを重ねると文字列になります。

Order="@Model.OrderModel.IsToday.ToJson()" 

boolとして送信するにはjavascript?明示的にキャストする必要がありますが、boolを使用する構文は間違っています。

EDIT

私はJavaScriptでこのOrder="@Model.OrderModel.IsToday"を使用する場合、それがおかしくなり、未定義です!

はまた、この

Order="@Json.Encode(Model.OrderModel.IsToday)" 

はまだ文字列として送信してみました。私はそれをブール値として文字列として送信したくありません

+1

は、あなたのコードに多くのコンテキストを提供することができますか? 'Order'はJavaScriptコードの一部であり、あなたはサーバー側から値を割り当てようとしていますか? – dotnetom

+0

私はこのOrder = "@ Json.Encode(Model.OrderModel.IsToday)"を使用しようとしましたが、それでもファットストリングとして送信されます – Learner

+0

@dotnetom:これは単純なメイトで、後で何を解決するかを解明する必要があります。ブール値を「true」として送信します。ブール値、すなわちtrueとして送信するようにします。 – Learner

答えて

1

JavaScriptで文字列値を取得します。これは変数で引用符を使用しているため、内部にある文字列は文字列になります。

は、代わりにこれを試してみてください:ここで

Order = @Model.OrderModel.IsToday.ToString().ToLower() 

を、あなたは文字列にブール値に変換した後、下部ケースに変換します。 ToStringTrueまたはFalseとなり、ブール値はtrueまたはfalseである必要があります。

+0

いいえ、私はすでにこの解決策を持っていますが、私の指導は、文字列として送信すべきではないと言います。 Javascriptでは、私はctrl.OrderToday = Order === 'true'が好きでしたが、彼はそれは良いアイデアやアプローチではないと言います。私はブール値として送信した後です。あなたはそれを作ることができますか? – Learner

+0

これを見て、あなたが書いたことは良い習慣ではありません、この記事を参照してくださいhttp://stackoverflow.com/questions/11733120/working-with-bool-value-from-view-in-javascript – Learner

+0

'IsToday'が'bool'では、なぜ答えがあなたのために働くのでしょうか? '@ Json.Encode(Model.IsToday)' – mmcrae

0

は、文字列として渡すとJavascriptのbooleanに変換する:

var myBool = Boolean(@Model.OrderModel.IsToday.ToString().ToLower()); 

here

関連する問題