一尘不染

asp.net-mvc:js文件中的剃刀'@'符号

javascript

我有一个.csHtml带有javascript函数的-razor文件,该文件使用@Url.ContentAjax URL内部的C#函数。
我想将该函数移到.js我的视图引用的文件中。

问题在于javascript无法“知道”该@符号,也无法解析C#代码。
有没有办法.js从视图中引用带有“ @”符号的文件?


阅读 374

收藏
2020-05-01

共1个答案

一尘不染

您可以使用HTML5 data-*属性。假设您想在单击某些DOM元素(例如div)时执行某些操作。所以:

<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文件中使用任何服务器端标签。

2020-05-01