1. ホーム
  2. c#

[解決済み] asp.net-mvc: js ファイルに '@' シンボルがある。

2023-03-26 23:02:16

質問

私は .csHtml を使用する javascript 関数を含む -razor ファイルがあります。 @Url.Content C# 関数を使用しています。

私はその関数を .js ファイルから参照されるようにしたいと思います。

問題は、javascript が @ シンボルを知らず、C#のコードをパースしないことです。

を参照する方法はありますか? .js ファイルをビューから "@" シンボルで参照する方法はありますか?

どのように解決するのですか?

HTML5 を使用することができます。 data-* 属性を使用することができます。div などの DOM 要素がクリックされたときに何らかのアクションを実行したいとします。そこで

<div id="foo" data-url="@Url.Content("~/foobar")">Click me</div>

で、別の javascript ファイルで、DOM を控えめに扱うことができます。

$('#foo').click(function() {
    var url = $(this).data('url');
    // do something with this url
});

こうすることで、マークアップとスクリプトを純粋に分離することができ、javascriptファイルにサーバーサイドのタグを必要とすることはありません。