我有一个.csHtml带有javascript函数的-razor文件,该文件使用@Url.ContentAjax URL内部的C#函数。 我想将该函数移到.js我的视图引用的文件中。
.csHtml
@Url.Content
.js
问题在于javascript无法“知道”该@符号,也无法解析C#代码。 有没有办法.js从视图中引用带有“ @”符号的文件?
@
您可以使用HTML5 data-*属性。假设您想在单击某些DOM元素(例如div)时执行某些操作。所以:
data-*
<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文件中使用任何服务器端标签。