3

このリンクで、モデルから JavaScript オブジェクトにデータを転送するソリューションを見つけました。問題は、Visual Studio でセミコロンが無効であることを示すエラーが発生することですが、アプリケーションを実行しようとすると完全に機能します。

エラーを示すスクリーンショットを次に示します。

ここに画像の説明を入力

しかし、セミコロンを削除すると、次のエラーが発生します。

ここに画像の説明を入力

いずれにせよ、javascript ステートメントの行末には常にセミコロンが必要です。

アプリケーションを実行すると、すべて正常に動作する場合、このエラーはどういう意味ですか?

4

3 に答える 3

3

ブロックで囲んでみてください:

var serializedData = @{ 
    Html.Raw(NewtonSoft.Json.JsonConvert.SerializeObject(Model));
};

編集:この回答は VS 2010 にのみ適用されます。VS 2012 でアップグレードすると、この回避策も破られます。

于 2012-11-12T17:29:25.617 に答える
2

Razor/MVC4 を始めたばかりですが、このようなことはできますか?

@{
    var serializedData = Html.Raw(Newtonsoft.Json.JsonConvert.SerializeObject(Model));
}
<script>
    ...
    var serializedData = @serializedData;
于 2012-11-12T17:31:00.500 に答える
1

次のように、かみそりのコードを引用符で囲みます。

var myVar = '@serializedData';

JavaScript のダック タイプとして、ほとんどのユース ケースで問題ありません。

于 2014-06-02T14:58:10.060 に答える