【问题标题】:Form tag inside master page and content page母版页和内容页内的表单标签
【发布时间】:2014-02-02 07:25:28
【问题描述】:

我有一个母版页和几个内容页,我需要在母版页中放置一个表单标签来处理从我的 html 元素发送数据并为我的内容页执行此操作。但我需要了解什么是为这种情况构建的最佳方法以及母版页的表单标记对内容页面的影响是什么?当母版页本身有这个标签时,是否可以在内容页面中放置表单标签?如果我有详细的解释,我很感激?

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    当您向项目添加新元素时,<form runat="server"> 元素默认位于母版页中;所有子页面都使用 ContentPlaceHolders 实现。

    例如母版页:-

    <form id="form1" runat="server">
    <div>
        <asp:ContentPlaceHolder ID="MainContent" runat="server">
    
        </asp:ContentPlaceHolder>
    </div>
    </form>
    

    您可以根据需要拥有任意数量的 ContentPlaceHolder(但通常只需要一个)。如果您随后添加“使用母版页的子页面”,则特定页面的内容将添加到相关的 &lt;asp:Content&gt; 元素内 - 一旦您指定了添加“使用母版的子页”时要使用的母版页,默认情况下会添加这些内容页”:-

    <asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
    
      <!-- your markup, controls etc.. -->
    
    </asp:Content>
    

    阅读 MSDN 文档以了解更多信息 - http://msdn.microsoft.com/en-us/library/aa581781.aspx

    【讨论】:

    • 感谢您的回复,但我的主要问题是,稍后当您添加内容页面时,是否可以在内容页面中添加表单标签,或者母版页面中的表单标签可以处理内容中的 html 元素页面?
    • 您可以在内容页面中添加表单标签,但不能标记为 runat="server" - 每个页面只能有一个(包括主+子)。通常不需要这样做;您的子页面中的内容
      标签内,该标签在母版页中定义
    • 如果你使用
      标签作为结构或一些 CSS 规则,只需使用 DIV 代替将内容包装在子页面中。
    • 再次感谢,我还有一个问题,如果稍后在代码隐藏中我想使用 Request.Form[] 在内容页面中获取 html 元素的数据会发生什么?是否可以在内容页面中执行此操作,或者它会在母版页中发生,我的意思是哪个 *.cs 文件负责获取数据?
    • 您仍然可以通过 Request.Form 访问内容 - 您可以在子页面中访问这些内容 - 但您为什么要这样做?如果您已将 asp.net 控件添加到您的子页面,您的子页面可以直接访问它们吗?你能发布一个子页面标记的例子吗?
    猜你喜欢
    • 2015-06-28
    • 2012-06-21
    • 2013-02-08
    • 2013-02-12
    • 2010-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多