1

私はModelwithLevelInfoプロパティを持っています:

public IEnumerable<Tuple<string, string, string>> LevelInfo { get; set; }

ビューには、JS 関数があります。

function fillPath(level, color) {
        $('[level=' + level).attr({ 'fill': color });
    }

今、私は繰り返して関数LevelInfo を呼び出したいfillPath:

$(document).ready(function() {

        @foreach (var info in Model.LevelInfo)
        {
            // How can I call JS function from here?
            // i.e,  fillPath(info.Item1, info.Item2)
        }
    });

ありがとう。

4

1 に答える 1

8

はサーバー側で実行され、と@foreachの間の HTML を出力することに注意してください。{}

JavaScript を括弧の間に書くだけです。

$(document).ready(function() {

    @foreach (var info in Model.LevelInfo)
    {
        fillPath(info.Item1, info.Item2) // Assumes this is a function defined in JavaScript elsewhere
    }
});

Razor は、サーバー側のコードからクライアント側のコードへの移行を認識することに少しうるさい場合があります。<text>Razor を支援するために、JavaScript コードをラップする必要がある場合があります。

于 2012-06-07T06:36:57.617 に答える