【问题标题】:MVC javascript relative pathMVC javascript 相对路径
【发布时间】:2014-11-10 19:23:25
【问题描述】:

在 MVC 应用程序中为 JavaScript 创建相对路径的最佳方法是什么。由于我们不能在 JavaScript 文件中使用 '~'、'@Url.Action'。这样它就可以跨多个文件使用。

【问题讨论】:

    标签: javascript asp.net-mvc relative-path


    【解决方案1】:

    我一直这样做的方式是在您的 JavaScript 文件中为这些 URL 公开属性。然后,当您在 HTML 页面上实例化该代码时,允许 Razor 设置这些属性。

    在你的 JavaScript 中:

    var Widget = function () {
        var init = function(url1, url2);
    
        // Do stuff
    
        return {
            init: init
        }
    };
    

    然后在您的 .cshtml 页面中,执行以下操作:

    <script type="text/javascript">
        Widget.init('@Url.Action("Method", "Controller")', '@Url.Action("Method2", "Controller")');
        // Assigning directly to the Widget object
        Widget.url3 = '@Url.Action("Method3", "Controller")';
    </script>
    

    【讨论】:

    • 问题是我正在使用 angularjs,并且在某些页面中,没有 cshtml 页面,或者它可以是带有 html 的 javascript 文件。我正在考虑使用 viewstart.cshtml,但不确定这是否是个好地方。有什么想法吗?
    • 我用 MVC 完成了一个 Angular 项目。我们所做的是有一个实用类来保存所有需要的 URL。这与我在示例中的基本设置相同,但不是将链接作为参数,而是直接分配给对象属性。
    • 我发现一篇不错的文章,与提到的 Krillgar 几乎相似。 bartwullems.blogspot.com/2014/07/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    • 2011-03-06
    • 2011-08-18
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    相关资源
    最近更新 更多