剃刀在扩展名为js的文件中

时间:2014-07-22 08:00:46

标签: javascript asp.net-mvc razor

如何在扩展名为js的文件中使用Razor?例如:

 function Tracker($elem, prodn) {
     var url = '/BackEndServices/StartTracking'; 
     if ($elem.hasClass('Tracked')) {
          url = '/BackEndServices/StopTracking';
     } $.ajax({
         url: url,
         type: 'POST',
         data: { prodN: prodn, nprt: $elem.attr('nprt') },
         success: function (result) { $elem.closest('span').html(result); $("[rel=tooltip]").tooltip({ html: true }); },
     });
 }

我想使用Url.Action.is方法吗?

2 个答案:

答案 0 :(得分:0)

您可以通过某个全局变量传递此Url。例如,写入cshtml文件:

<script>
    $.serverData = { startUrl: @Url.Action("Start"), stopUrl: @Url.Action("Stop") };
</script>

然后在你的js文件中使用它:

 function Tracker($elem, prodn) {
     var url = $elem.hasClass('Tracked') ? $.serverData.StopUrl : $.serverData.StartUrl;
     $.ajax({
         url: url,
         type: 'POST',
         data: { prodN: prodn, nprt: $elem.attr('nprt') },
         success: function (result) { $elem.closest('span').html(result); $("[rel=tooltip]").tooltip({ html: true }); },
     });

答案 1 :(得分:0)

其中一个选项 - 将脚本放在“部分视图”