繁体   English   中英

一个页面只能有一个服务器端表单标签,但我需要两个

[英]A page can only have one server-side form tag, but I need two

当前,我的ASP.NET Web应用程序正在使用母版页,嵌套母版页和内容页。 在嵌套的母版页上,我有一个用于导航链接的内容占位符,另一个用于主要内容。 之所以有两个,是因为我的主母版页已经为其余页面确定了固定格式,并且我使用嵌套的母版页,因为我需要使用不同类型的导航链接来实现网站中使用的不同角色。 但是,对于导航链接,LinkBut​​ton用于退出按钮,因此它要求我使用带有runat =“ server”的表单标签,以便我能够运行页面。 但是,在我的内容页面中,我还需要一个表单runat =“ server”标签作为我的主要内容。 :-(是否有人对如何解决此问题提出建议?我想坚持使用多个内容占位符,以便较小的更改不会影响整个页面。

无论如何,这是我的母版代码段

<asp:Content ID="Content1" ContentPlaceHolderID="navigationlinks" runat="server">
<form id="navForm" runat="server">
    <a class="toggleMenu" href="#">
        <img src="images/nav_icon.png" alt="" />
    </a>
    <ul class="nav" id="nav">
        <li class="current"><a href="UserHome.aspx">Home</a></li>
        <li><a href="UserCompetition.aspx">Competition</a></li>
        <li><a href="UserGallery.aspx">Gallery</a></li>
        <li class="dropdown">
            <a class="dropdown-toggle" data-toggle="dropdown"     href="#">Discussions
            </a>
            <ul class="dropdown-menu">
                <li><a href="UserDiscussionCreate.aspx">Create Discussion</a></li>
                <li><a href="UserDiscussionView.aspx">View Discussion</a></li>
            </ul>
        </li>
        <li><a href="UserSubmission.aspx">Submission</a></li>
        <li><a href="UserResults.aspx">Results</a></li>
        <li><a href="UserMyAccount.aspx">My Account</a></li>
        <div class="clear"></div>
    </ul>
    <script type="text/javascript" src="js/responsive-nav.js"></script>
</form>

<asp:Content ID="Content3" ContentPlaceHolderID="Content1" runat="server">
    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"></asp:ContentPlaceHolder>
</asp:Content>

ContentPlaceHolder1用于内容页面中的主要内容。 因此,即使已经在“ navigationallinks”中使用了表单标签,我仍然需要另一个表单标签

在我的内容页面中,我还需要一个表单runat =“ server”标签作为我的主要内容。

您已经有了它,因为此页面具有包含服务器端表单标签的母版页! 当您拥有

<form runat="server">...</form>

使用该母版页的所有页面都将具有该表单,而无需在页面中再次添加!

编辑:

只需删除任何页面或嵌套母版页中的所有表单标签,然后将其包含所有元素的母版页添加到该母版页中即可。

在具有<body>标记的母版页内,在主体之后添加<form runat="server">标记,并在</body>之前将其关闭。 并删除所有其他表单标签。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM