0

以下代码在 ASP 中运行良好:

// loads the video/presentation/pdf into the central div
        $(document).ready(function () {
            $(".video, .pdfdoc, .presentation").click(function (е) {
                е.preventDefault();
                var url = this.href;
                if ($(this).hasClass("video")) {
                    $(".onCenterBig").html('<video width="800" height="500" controls><source src="' + url + '" type="video/mp4" /></video>');
                }
                else if ($(this).hasClass("pdfdoc")) {
                    $(".onCenterBig").html('<object data="' + url + '" type="application/pdf" width="880" height="620">alt : <a href="' + url + '">test.pdf</a></object>');
                }
                else {
                    $(".onCenterBig").html('<h2>PRESENTATION</h2>');
                }
            });
        });

但我不得不将项目转移到 ASP-MVC3,我唯一改变的是文件的路径:

...<source src="/Content/media/' + url + '" type="video/mp4" /></video>');

'<object data="/Content/media/' + url + '" type="application/pdf" width="880" height="620">alt : <a href=/Content/media/' + url + '"...

我认为问题出在文件路径中,但事实并非如此,因为我使用相同的方式在另一个地方(带有图像)输入 url,它工作正常。

奇怪的是,即使是第 3 种选择,也就是我在点击时简单写的地方<h2>PRESENTATION</h2>,也不能正常工作。所以我认为有一种输入 HTML 代码的方式,因为 ASP 和 ASP-MVC 不同。

用于将 HTML 从字符串加载到页面中,在我正在使用的项目的其他地方,@Html.Raw(System.Web.HttpUtility.HtmlDecode(@ViewBag.MediaWindow))但我不确定使用@Html.Raw....HtmlDecode....是否会有所帮助。而且我真的不知道如何在 JS 代码中滥用它。当我检查浏览器的控制台时 - 我没有收到任何错误或任何可疑的东西。

那么,有什么想法可以让我加载 HTML 吗?

4

1 回答 1

0

你的js脚本在哪里?应该没有错……我刚刚测试了这个:

HTML

<div id="test">Test</div>

JS

<script type="text/javascript">
    $("#test").click(function () {
        $("#test").html('<div style="width: 200px; height: 200px; background-color: red; color: white;">test</div>');
    });
</script>

也许尝试升级您的 jQ,尽管我从未听说过任何框架(如 ASP/MVC)的版本问题。

也许尝试删除 $(document).ready() 闭包和/或在 jQ 中使用 .on() 绑定函数而不是 .click()

编辑:我知道这更多的是评论,但空间不足:P

于 2013-09-09T13:54:43.227 回答