【问题标题】:Link to nonexistent .aspx file works—why?链接到不存在的 .aspx 文件有效——为什么?
【发布时间】:2013-11-13 22:09:41
【问题描述】:

我继承了一个 DotNetNuke 网站,该网站在单击“加入邮件列表”超链接时显示模式弹出窗口:<a href="/JoinMailingList.aspx" class="JoinMailingList">Join Mailing List</a>。但是,该网站没有 JoinMailingList.aspx 文件。然而链接仍然有效(虽然不正确:弹出窗口占据了整个屏幕,而不是出现在“首屏”)。该链接转到以下 jQuery 代码,但在弹出窗口显示之后:

$(".JoinMailingList").click(function (e) {

    e.preventDefault();
    $(".ModalBody .Notification").remove();
    $(".ModalMask").fadeTo("fast", 0.5);
    $("#MailingListForm").show("fast");

});

显然超链接使用“假”JoinMailingList.aspx 来弹出,但是如何?

【问题讨论】:

  • 你可以拦截任何东西上的点击事件,并随心所欲地处理它。 (通常会阻止常规浏览器导航。)这包括指向任何内容的链接。这包括指向不存在的页面的链接。 (但不一定是一个好习惯:最好该页面确实存在,对于神话般的“禁用 Javascript 的人”,以及不那么神话般的“在新标签中打开链接的人”。)跨度>
  • 忘记JoinMailingList.aspx的存在,它可能是GoHome.aspx,它会做同样的事情。链接的那部分被忽略了。所发生的一切是在单击该锚点时显示带有id="MailingListform" 的元素。

标签: jquery dotnetnuke modalpopup


【解决方案1】:

DNN 的 URL 重写会查看一个页面的名称,并尝试在 TABS 表中找到对应的记录。如果您需要查找该页面本身,您可以转到“管理员/页面管理”页面尝试找到它。

【讨论】:

    猜你喜欢
    • 2020-04-03
    • 2016-07-17
    • 1970-01-01
    • 2015-07-06
    • 1970-01-01
    • 2022-01-25
    • 1970-01-01
    • 2021-01-07
    • 2021-07-09
    相关资源
    最近更新 更多