javascript中的ASP.NET MVC标记?

javascript中的ASP.NET MVC标记?,javascript,asp.net-mvc,variables,Javascript,Asp.net Mvc,Variables,你好, 我需要为AJAX调用提取适当的URL,这是我在js文件中添加的内容: var GetLocationByParentPath = '<%= Url.Content("~/Location/GetLocationsByParent") %>'; var GetLocationByParentPath=''; 但是ASP.NET MVC标记将不会运行,因此现在的问题是,如何使用正确的值填充GetLocationByParentPath bestgrees您的问题是,您试图完成

你好,

我需要为AJAX调用提取适当的URL,这是我在js文件中添加的内容:

var GetLocationByParentPath = '<%= Url.Content("~/Location/GetLocationsByParent") %>';
var GetLocationByParentPath='';
但是ASP.NET MVC标记将不会运行,因此现在的问题是,如何使用正确的值填充GetLocationByParentPath


bestgrees

您的问题是,您试图完成一些不受支持的事情,您不能在js文件中使用C代码

但是,您可以在aspx文件(或cshtml)中执行此操作,并且js文件可以与这些文件通信,因此您有3个选项:

一,。在接受url的js文件中向函数添加一个参数

在js内部:

function yourfunction(url)
{
    var GetLocationByParentPath = url;
}
在您的aspx中:

<script>
    yourfunction('<%= Url.Content("~/Location/GetLocationsByParent") %>');
</script>
<script>
    var getLocationsUrl = '<%= Url.Content("~/Location/GetLocationsByParent") %>'
    yourfunction();
</script>
三,。使用完整的硬编码url(不利于重构,但简单的解决方案:

在js内部(确保在函数运行之前定义getLocationsUrl):


希望这有助于

我有一个$(document).ready(函数()在js文件中,函数在这里执行。如果我在我的$(document).ready(函数()在aspx页面上,会一直执行吗?这取决于你在放置$(document)之前是否包含js文件.ready或after。无论如何,您不必使用$(document)。ready在您的aspx中只是为了设置一个全局变量,您不希望只在加载整个页面后才执行此操作。只需在包含js文件之前进行赋值。
function yourfunction()
{
    var GetLocationByParentPath = getLocationsUrl ;
}
    var GetLocationByParentPath = '/Location/GetLocationsByParent';