javascript - 通过javascript更改iframe src时,整个页面刷新

标签 javascript asp.net vb.net iframe

在我的 asp.net 应用程序中,我有一个包含两个 iframe 的页面。这些框架上方是一些链接按钮。当点击这些按钮时,它们应该更改两个 iframe 的 src。下面列出的是我用来执行此操作的客户端代码和 javascript。问题是,当点击这些按钮中的任何一个时,整个页面都会刷新,而不是仅仅更改其中一个 iframe 的 src。 (我可以说这是令人耳目一新的,因为链接按钮在您登录主框架中显示的第一页之前不可用,登录后,通过调用父级 - window.parent.loginSuccess() 按钮变得可见)。如果单击其中之一,它会将您带回到 iframe 中的登录页面,并且按钮不再可见。)这是代码,有人知道为什么会发生这种情况吗?感谢您的帮助。

<body id="bodysty">
<div id="fstyle" class="daform">
    <form id="form1" runat="server">
    <div id="master">
    <div id="topthing"> <asp:LinkButton ID="lbtnControlPanel" onclientclick="CPhit()" runat="server" style="display:none">Control Panel</asp:LinkButton> <asp:LinkButton ID="lbtnAddClient" runat="server" onclientclick="AddClientHit()" style="display:none">Add Client</asp:LinkButton> <asp:LinkButton ID="lbtnManageClients" runat="server" onclientclick="ManageClientsHit()" style="display:none">Manage Clients</asp:LinkButton> <asp:LinkButton ID="lbtnAdmin" runat="server" onclientclick="ManageClientsHit()" style="display:none">Admin Options</asp:LinkButton></div>
    <div id="leftcontrol">
    <iframe id="LeftIframe" runat="server" ></iframe>
        </div>
    <div id="mainbodyform">

    <iframe id="ContentIframe" runat="server" src="Login.aspx" class="mainiframe" ></iframe>
    </div>
    </div>
    </form>
    </div>
</body>
</html>
<script language="javascript">
    function CPhit() {
        document.getElementById("ContentIframe").src = "LoginNotes.aspx";
    }
    function AddClientHit() {
        document.getElementById("ContentIframe").src = "NewCustomer.aspx";
    }
    function loginSuccess() {
        document.getElementById('lbtnControlPanel').style.display = 'inherit'
        document.getElementById('lbtnAddClient').style.display = 'inherit'
        document.getElementById('lbtnManageClients').style.display = 'inherit'
        document.getElementById('lbtnAdmin').style.display = 'inherit'
    }
</script>

代码隐藏中没有处理此页面的代码,它只是用于导航。有任何想法吗?感谢您的帮助。

最佳答案

您需要取消您正在点击的项目的默认点击操作。

简单的方法是在点击事件上返回 false。

onclientclick="CPhit(); return false;" 

更好的方法是 preventDefault()

关于javascript - 通过javascript更改iframe src时,整个页面刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13867458/

相关文章:

c# - 插入登录用户的 UserID

asp.net - 不记名 token - 两个因素 - ASP.NET 身份

asp.net - 从技术上讲,Sharepoint 开发人员是否可以进行自定义应用程序开发 "equipped",反之亦然?

php - Vb.Net 中是否有等效的 PHP crypt($string,$salt) ?无法使用 $salt 找到/创建任何内容

vb.net - Visual Basic 可以作为 Windows 服务运行吗?

javascript - 在 JavaScript 中插入数组

javascript 使用拖动来移动元素

vb.net - 如何在 VB.NET 中列出 Facebook 好友列表?

javascript - 您可以在时区之间自由转换日期吗?

javascript - WordPress - 将模板文件夹图像添加到 JavaScript