【发布时间】:2013-09-09 12:53:03
【问题描述】:
以下代码在 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 加载吗?
【问题讨论】:
-
由于上个版本也不起作用,这似乎是js而不是mvc的问题。如果您签入 Google Chrome js 控制台,您会收到错误消息吗?如果在js代码中下断点,是不是就到那里了?
-
我猜你的
href值有问题。当您使用开发人员工具检查此内容时,您可以点击链接吗? -
检查控制台是否有错误并进行一些调试。确保 JQuery 完全正常工作,并且您甚至正在输入该代码部分。
-
对不起,忘了说我在浏览器的控制台中没有收到任何错误。我什至检查了 FireBug(听说它是一个很好的工具)。
-
你应该没有问题。确保进行测试以查看 jQuery 是否已正确加载并在应用程序的此级别运行,即:$(document).ready(function() { alert("yay"); });
标签: jquery asp.net asp.net-mvc asp.net-mvc-3