2

モデルにboolプロパティがあります:

public bool IsExistSchedule {get; set;}

ビューでは、次のように記述しました。

<div id="step1" data-schedule="@Model.IsExistSchedule">
...
</div>

生成されたページに値data-scheduleが含まれていTrueます。
javascriptでこの値を適切に処理するにはどうすればよいですか?
たとえば、変数が true かどうかを確認したい:

var isExist = $('#step1').attr('data-schedule');
if( isExist === "True")
     do something

私はこの部分が好きではありませんisExist === "True"。bool may be またはその他のものに変換する必要があります。残念ながら、他のブラウザでは、変数に他の値が含まれている可能性があります: true, True, "True", "true".
ありがとう。

4

2 に答える 2

10

一般に、JavaScript 用のモデルが必要な場合は、ビューでこれを行うことをお勧めします。

@Json.Encode(Model.IsExistSchedule)

これにより、ブール値を小文字にするなど、値が javascript が理解できるものに「変換」されます。

そして、@Musa が示唆するように、.data() メソッドを使用します。

于 2012-07-31T05:06:18.597 に答える
1

メソッドは.data()それをブール値に変換します。html5 データ属性と互換性があります。

var isExist = $('#step1').data('schedule');
if (isExist)
    do something

"True"は変換されないため、変換するboolean(true)必要があります"true"

于 2012-07-31T04:33:57.133 に答える