我有这个引导母版页,我在其中使用sb admin 2模板和自定义js。我想从子页面的codebehind打开一个模式弹出窗口,但失败了。遵循母版页代码,然后我尝试:
<%@ Master Language="VB" AutoEventWireup="false" CodeBehind="Site1.master.vb" Inherits="Giano.Site1" %>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>Giano</title>
<!-- Custom fonts for this template-->
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
rel="stylesheet">
<!-- Custom styles for this template-->
<link href="css/sb-admin-2.min.css" rel="stylesheet">
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body id="page-top">
<!-- Page Wrapper -->
<div id="wrapper">
<!-- Sidebar -->
<ul class="navbar-nav bg-gradient-primary sidebar sidebar-dark accordion" id="accordionSidebar">
<!-- Sidebar - Brand -->
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="index.aspx">
<div class="sidebar-brand-icon">
<i class="fas fa-door-open" title="Giano²"></i>
</div>
<div class="sidebar-brand-text mx-3">Giano<sup>2</sup></div>
</a>
<!-- Divider -->
<hr class="sidebar-divider my-0">
<!-- Nav Item - Dashboard -->
<li id="menu_dashboard" class="nav-item" runat="server">
<a class="nav-link" href="index.aspx">
<i class="fas fa-fw fa-tachometer-alt"></i>
<span>Pannello di controllo</span></a>
</li>
<!-- Divider -->
<hr class="sidebar-divider">
<!-- Heading -->
<div class="sidebar-heading">
Anagrafico
</div>
<!-- Nav Item - Pages Collapse Menu -->
<li id="menu_clienti" class="nav-item" runat="server" >
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseClienti"
aria-expanded="true" aria-controls="collapseClienti" runat="server" id="menu_clienti_a">
<i class="fas fa-fw fa-building"></i>
<span>Clienti</span>
</a>
<div id="collapseClienti" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionSidebar" runat="server">
<div class="bg-white py-2 collapse-inner rounded">
<a runat="server" id="sottomenu_clienti" class="collapse-item" href="clienti.aspx">Gestione clienti</a>
</div>
</div>
</li>
<!-- Nav Item - Utilities Collapse Menu -->
<li id="menu_anagrafiche" class="nav-item" runat="server">
<a runat="server" id="menu_anagrafiche_a" class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseAnag"
aria-expanded="true" aria-controls="collapseAnag">
<i class="fas fa-fw fa-users"></i>
<span>Anagrafiche</span>
</a>
<div id="collapseAnag" class="collapse" aria-labelledby="headingUtilities" data-parent="#accordionSidebar" runat="server">
<div class="bg-white py-2 collapse-inner rounded">
<a runat="server" id="sottomenu_Anagrafiche" class="collapse-item" href="anagrafiche.aspx">Gestione anagrafiche</a>
<a runat="server" id="sottomenu_Badge" class="collapse-item" href="badge.aspx">Gestione badge</a>
</div>
</div>
</li>
<!-- Divider -->
<hr class="sidebar-divider">
<!-- Heading -->
<div class="sidebar-heading">
Configurazione
</div>
<!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePolit"
aria-expanded="true" aria-controls="collapsePolit">
<i class="fas fa-fw fa-sign-in-alt"></i>
<span>Politiche</span>
</a>
<div id="collapsePolit" class="collapse" aria-labelledby="headingPages" data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded">
<a class="collapse-item" href="login.html">Gestione politiche</a>
</div>
</div>
</li>
<li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTerm"
aria-expanded="true" aria-controls="collapseTerm">
<i class="fas fa-fw fa-laptop"></i>
<span>Terminali</span>
</a>
<div id="collapseTerm" class="collapse" aria-labelledby="headingPages" data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded">
<a class="collapse-item" href="login.html">Gestione terminali</a>
</div>
</div>
</li>
<!-- Divider -->
<hr class="sidebar-divider d-none d-md-block">
<!-- Sidebar Toggler (Sidebar) -->
<div class="text-center d-none d-md-inline">
<button class="rounded-circle border-0" id="sidebarToggle"></button>
</div>
</ul>
<!-- End of Sidebar -->
<!-- Content Wrapper -->
<div id="content-wrapper" class="d-flex flex-column">
<!-- Main Content -->
<div id="content">
<!-- Topbar -->
<nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow">
<!-- Sidebar Toggle (Topbar) -->
<button id="sidebarToggleTop" class="btn btn-link d-md-none rounded-circle mr-3">
<i class="fa fa-bars"></i>
</button>
<!-- Topbar Navbar -->
<ul class="navbar-nav ml-auto">
<div class="topbar-divider d-none d-sm-block"></div>
<!-- Nav Item - User Information -->
<li class="nav-item dropdown no-arrow">
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="mr-2 d-none d-lg-inline text-gray-600 small" runat="server" id="txtUsername" />
<img class="img-profile rounded-circle"
src="img/undraw_profile.svg">
</a>
<!-- Dropdown - User Information -->
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="userDropdown">
<a class="dropdown-item" href="#">
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
Profile
</a>
<a class="dropdown-item" href="#">
<i class="fas fa-cogs fa-sm fa-fw mr-2 text-gray-400"></i>
Settings
</a>
<a class="dropdown-item" href="#">
<i class="fas fa-list fa-sm fa-fw mr-2 text-gray-400"></i>
Activity Log
</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#" data-toggle="modal" data-target="#logoutModal">
<i class="fas fa-sign-out-alt fa-sm fa-fw mr-2 text-gray-400"></i>
Logout
</a>
</div>
</li>
</ul>
</nav>
<!-- End of Topbar -->
<!-- Begin Page Content -->
<div class="container-fluid">
<form runat="server">
<asp:ContentPlaceHolder ID="body" runat="server">
</asp:ContentPlaceHolder>
<!-- Logout Modal-->
<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Ready to Leave?</h5>
<button class="close" type="button" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">Select "Logout" below if you are ready to end your current session.</div>
<div class="modal-footer">
<button class="btn btn-secondary" type="button" data-dismiss="modal">Cancel</button>
<a class="btn btn-primary" href="login.aspx">Logout</a>
</div>
</div>
</div>
</div>
</form>
</div>
<!-- /.container-fluid -->
</div>
<!-- End of Main Content -->
<!-- Footer -->
<footer class="sticky-footer bg-white">
<div class="container my-auto">
<div class="copyright text-center my-auto">
<span id="txtCopyright" runat="server" />
</div>
</div>
</footer>
<!-- End of Footer -->
</div>
<!-- End of Content Wrapper -->
</div>
<!-- End of Page Wrapper -->
<!-- Scroll to Top Button-->
<a class="scroll-to-top rounded" href="#page-top">
<i class="fas fa-angle-up"></i>
</a>
<!-- Bootstrap core JavaScript-->
<script src="vendor/jquery/jquery.min.js"></script>
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- Core plugin JavaScript-->
<script src="vendor/jquery-easing/jquery.easing.min.js"></script>
<!-- Custom scripts for all pages-->
<script src="js/sb-admin-2.min.js"></script>
<asp:ContentPlaceHolder ID="scripts" runat="server">
</asp:ContentPlaceHolder>
</body>
</html>
有了这样的母版页,每个界面功能都能正常工作,例如,按下按钮可以缩小侧菜单,如果在便携式设备上看到,它会自动隐藏,但代码隐藏模式无法打开。然后,我尝试将js序列化放在母版页的“头部”部分,而不是正文末尾的当前位置,如下所示:
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>Giano</title>
<!-- Custom fonts for this template-->
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
rel="stylesheet">
<!-- Custom styles for this template-->
<link href="css/sb-admin-2.min.css" rel="stylesheet">
<!-- Bootstrap core JavaScript-->
<script src="vendor/jquery/jquery.min.js"></script>
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- Core plugin JavaScript-->
<script src="vendor/jquery-easing/jquery.easing.min.js"></script>
<!-- Custom scripts for all pages-->
<script src="js/sb-admin-2.min.js"></script>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
通过这样做,模式显示代码隐藏,但我失去了母版页上的所有其他功能,我无法通过侧菜单导航事件。。。所以我知道在母版页中正确放置导入部分是一个问题,但是我如何解决这个问题呢?
这就是我如何在子页面中打开模态的方法:
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<script type="text/javascript">
function ShowModal() {
$("#btnModal").click();
}
</script>
</asp:Content>
然后是隐藏按钮
<button type="button" style="display: none;" id="btnModal" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#modalRegole">Launch demo modal</button>
以及代码背后的代码:
Sub ShowModal()
ClientScript.RegisterStartupScript(Me.GetType(), "alert", "ShowModal();", True)
'ScriptManager.RegisterStartupScript(Me, Me.GetType(), "LaunchServerSide", "$(function() { ShowModal(); });", True)
End Sub
暂无答案!
目前还没有任何答案,快来回答吧!