我所拥有的网站是用.NET MVC编写的。此站点在视图中有一个页脚,其中一些链接在单击时会弹出一个窗口。弹出窗口使用javascript和ajax完成。所有弹出窗口都可以正常工作。
我所追求的是一种通过URL直接访问弹出窗口中常见问题页面的方法。当我尝试通过URL“http://www.mysite.com/faq”直接访问该页面时,我找不到页面。我想以弹出窗口或完整的网页访问该页面,其中包含以下内容:
http://www.mysite.com/faq
页脚中的代码如下:
<a href="#" data-link="faqs">FAQs</a><span>|</span>
<script type="text/javascript">
$(function () {
$("div.Footer a").click(showPopUp);
$("a#close-button").click(hidePopUp);
});
function showPopUp(e) {
e.preventDefault();
var link = $(e.target).data("link");
loadHtml(link);
}
function loadHtml(link) {
if (!$.isShowingStaticContent) {
$.isShowingStaticContent = true;
$.ajax({
type: "POST",
cache: true,
url: '/home/' + link,
success: function (data, textStatus, jqXHR) {
$("body").prepend(jqXHR.responseText).find("#close-button").click(hidePopUp);
},
error: function(){$.isShowingStaticContent = false; }
});
}
}
function hidePopUp(e) {
e.preventDefault();
$("div:first").remove();
$.isShowingStaticContent = false;
}
答案 0 :(得分:0)
FAQ页面的路径实际上是site.com/home/faq,因为faq操作在你的家庭控制器中(至少看看你的ajax调用它的样子)。如果您希望能够访问site.com/faq,您需要将faq操作移动到它自己的控制器,或者在App_Start / RouteConfig.cs中编辑路由