【问题标题】:Master page with more then 1 form?具有超过 1 个表单的母版页?
【发布时间】:2020-06-22 13:48:46
【问题描述】:

所以,我知道每个母版页只能有 1 个 runat="server"<form>。我的问题是,如何将我的登录表格放在我的网站上?我把它都放在母版页上吗?或者一些在页面上,一些在 .aspx 表单上?现在,我主要在 Master 上拥有它,在 .aspx 页面上拥有 onClick() 事件。我会在下面邮编。

我的 Login.ASPX 页面。

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">


</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
    <div class="navbar">
        <a href="#login" type="submit" onclick="openForm()">Login</a>
    </div>

    <p style="text-align: center">WELCOME HOME</p>

</asp:Content>

这是我的母版页代码

<head runat="server">
    <link href="CSS/StyleCSS.css" rel="stylesheet" />
    <title>11</title>

    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>

</head>
<body>
    <div class="header">
        <h1> 11MO</h1>
    </div>

    <div class="PopupPosition">
        <div class="form-popup" id="myForm">
            <form class="form-container" id="form1" runat="server">
                <h1>Login Form</h1>
                <p style="text-align: center">Please login using your <strong><em>User ID and Password</em></strong></p>


                <asp:Label ID="lblUserName" runat="server" Text="User Name:"> </asp:Label>

                <asp:TextBox ID="txtUserName" runat="server"> </asp:TextBox>

                <asp:Label ID="lblPassword" runat="server" Text="Password:"> </asp:Label>

                <asp:TextBox ID="txtPassword" runat="server" TextMode="Password"> </asp:TextBox>

                <asp:Button ID="btnLogin" runat="server" Width="315px" CssClass="btn" OnClick="btnLogin_Click" Text="Login"></asp:Button>

                <button type="button" class="btn cancel" onclick="closeForm()">Close</button>
            </form>
        </div>
    </div>
    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
    </asp:ContentPlaceHolder>

    <footer class="Footer">
        <p>&copy; 2020 - Application Homepage</p>
    </footer>
</body>
</html>
<script>
    function openForm() {
        document.getElementById("myForm").style.display = "block";
    }

    function closeForm() {
        document.getElementById("myForm").style.display = "none";
    }
</script>

RESULT 我想将代码全部放在 1 页上,无论是主页面还是登录页面。我试过把它全部放在ContentPlaceHolder1 区域,但它不起作用。我认为这是因为当我这样做时我有 2 个服务器运行操作。那么,我如何在 1 页上获取所有内容,但仍保持其他页面的格式可用。我也有要转移的瓷砖,所以我不得不将它保留在主人身上。我是否需要添加子母版页?

【问题讨论】:

  • 您可以拥有任意数量的 runat="server" 属性。 “它不起作用”是什么意思?你遇到了什么错误?
  • @IrishChieftain 它没有加载。它会出现 2 个表单错误。
  • 我们需要更多详细信息 - 您可以发布您遇到的确切错误吗?我在您的母版页中只看到一个表单标签。您确定其他表单标签的位置了吗?
  • @IrishChieftain 我多次编辑它以显示我使用的不同类型的代码。实际上,我通过了解 ContentPlaceHolder 所做的事情并利用它来修复它。
  • 然后将此作为答案发布,并在可以这样做时将其标记为正确。

标签: html asp.net forms master-pages


【解决方案1】:

【讨论】:

  • 本文演示了如何使用 ASPX 页面制作登录表单。不是母版页。
  • 您是否尝试将项目模板用于 ASP.net 网络表单?他们在母版页中有登录表单
  • 我做了,但它仍然给出了一个错误,我通过找出 ContentPlaceHolder 的用途和作用来修复它。现在我很好。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-26
  • 2015-01-03
  • 2013-02-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多