0

你好,

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

var GetLocationByParentPath = '<%= Url.Content("~/Location/GetLocationsByParent") %>';

但是 ASP.NET MVC 标记不会运行,所以现在的问题是,如何用正确的值填充 GetLocationByParentPath?

最好的祝福

4

1 回答 1

2

你的问题是你试图完成不支持的事情,你不能在 js 文件中使用 C# 代码。

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

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

在js里面:

function yourfunction(url)
{
    var GetLocationByParentPath = url;
}

在你的aspx里面:

<script>
    yourfunction('<%= Url.Content("~/Location/GetLocationsByParent") %>');
</script>

2. 添加一个包含此 url 的全局 js 变量:

在你的aspx里面:

<script>
    var getLocationsUrl = '<%= Url.Content("~/Location/GetLocationsByParent") %>'
    yourfunction();
</script>

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

function yourfunction()
{
    var GetLocationByParentPath = getLocationsUrl ;
}

3. 使用完整的硬编码 url(不利于重构但简单的解决方案:

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

    var GetLocationByParentPath = '/Location/GetLocationsByParent';

希望这会有所帮助

于 2012-06-23T09:06:53.240 回答