【问题标题】:MVC2 - IIS7, Virtual Directory - Url.ContentMVC2 - IIS7,虚拟目录 - Url.Content
【发布时间】:2012-02-26 18:35:59
【问题描述】:

我有在网站根目录上运行良好的 MVC2 应用程序,但是当我将它发布到虚拟目录时,没有图像或 css 工作。我使用了 Url.Content,除了使用 Javascript 和 JW Player 的视频文件外,其他所有内容都可以正常工作。 我正在使用以下方法构建动态按钮:

onClick = string.Format("videoplayer('../video/{0}')", VideoName);

现在我需要使用 Url.Content,尝试了几种方法但都失败了,非常感谢您的意见。 提前致谢

【问题讨论】:

    标签: asp.net-mvc iis-7 virtual-directory


    【解决方案1】:

    您可以将标记和 javascript 分开。例如,您可以使用 HTML5 data-* 属性和 jQuery:

    <div class="player" data-url="<%= Url.Content("~/video") %>/foo.avi">
        Play foo
    </div>
    
    <div class="player" data-url="<%= Url.Content("~/video") %>/bar.avi">
        Play bar
    </div>
    

    然后您可以在单独的 javascript 文件中订阅 .click 事件:

    $(function() {
        $('.player').click(function() {
            var url = $(this).data('url');
            videoplayer(url);      
            return false;
        });
    });
    

    【讨论】:

    • 感谢达林,您的解决方案效果很好;但是我想将 '' 放在我现有的 fuction(videoname){ var videotoplay = '';我从按钮中获取视频名称为 /video/test.mp4。我收到错误当前上下文中不存在名称“videoname”。谢谢
    • @user373721,啊,所以videoname是一个javascript变量?你应该在你的问题中解释这一点。我会用一个例子来更新我的答案。
    • 达林是对的,但你也需要学习一些调试技巧。使用 Fiddler/F12 工具甚至查看源代码来找出请求的 URL 以及它为什么不起作用。
    猜你喜欢
    • 2013-07-30
    • 2012-10-19
    • 1970-01-01
    • 1970-01-01
    • 2014-07-20
    • 2010-11-17
    • 2010-10-13
    • 2013-12-29
    • 1970-01-01
    相关资源
    最近更新 更多