gpt4 book ai didi

javascript - 在 .NET MVC 中将服务器值获取到 JavaScript 的最佳方法?

转载 作者:行者123 更新时间:2023-11-30 13:42:13 24 4
gpt4 key购买 nike

使用 ASP.NET MVC + jQuery :

我需要在客户端使用服务器拥有的一些值 JavaScript .

现在,我在实际 View 中临时得到了这样一个脚本标签:

<script>
var savePath = '<%= Url.Action("Save") %>';
</script>

但我想把它移到更干净、更易于维护的地方。我正在考虑创建 JavaScript Controller /操作并返回 JSON 的内容。包含我需要的所有数据的对象,然后使用 View 作为脚本标记的 src。

还有其他想法吗?

最佳答案

这实际上取决于。对于简单的内联器,上面的行工作得很好。如果您需要 JavaScript 中的大量服务器数据,您的 View 方法可能有效。但是,如果您只呈现输出所需 JavaScript 的部分 View ,您将获得相同的结果。

这有一个问题,因为您最终可能会将服务器数据与 JavaScript 混合在一起。最好的方法是将服务器数据最小化到绝对最小值,并将其传递给 JavaScript 函数,而不是与 JavaScript 代码混合。也就是说,不是

function func() {
var path = '<%= Url.Action("my") %>';
$(".selector").append("<img src='" + path + "' />");
}

但是

function AppendImageToSelector(path) {
$(".selector").append("<img src='" + path + "' />");
}

function func() {
var path = '<%= Url.Action("my") %>';
AppendImageToSelector(path);
}

这使代码更清晰、更易于理解,有助于将 JavaScript 移出到单独的 .js 文件中,有助于在需要时重用 JavaScript,等等。

如果您在 JavaScript 中需要大量与服务器相关的 URL,您可能需要创建全局(在母版页中)函数,例如

function url(relative) {
return '<%= Url.Content("~") %>' + relative;
}

并从 JavaScript 脚本中使用它。但是,这种技术值得怀疑。例如,它不使用 MVC 路由规则,因此 URL 可能不会不同步;等等

关于javascript - 在 .NET MVC 中将服务器值获取到 JavaScript 的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1662950/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com