ASP.NET将表单添加到母版页

时间:2013-04-26 08:37:33

标签: asp.net forms master-pages

所以我从来没有使用ASP.NET真正编写过网站。我正在尝试将搜索表单添加到我的网站的母版页。问题是整个身体被包裹在一个表单标签中,这使得我的新表单的功能不存在。通过搞乱我还不了解的事情,我有一种习惯让糟糕的情况变得更糟。所以我想我会征求你的意见,我的想法是:

  • 完全删除runat =“server”表单标记。
  • 在我的表单前关闭它,并在表单的末尾替换它。
  • 按钮内的代码(我后来注意到你无法打开。
  • 放弃ASP.NET并返回PHP lol。

希望你能提供帮助。

感谢。

4 个答案:

答案 0 :(得分:0)

母版页将是这样的

  <%@ Master Language="C#" AutoEventWireup="true" 
   CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

  <html xmlns="http://www.w3.org/1999/xhtml">
  <head runat="server">
     <title></title>
     <asp:ContentPlaceHolder id="head" runat="server">
     </asp:ContentPlaceHolder>
  </head>
  <body>
       <form id="form1" runat="server">
       <div>
           <asp:ContentPlaceHolder id="bodycontent" runat="server">

           </asp:ContentPlaceHolder>
       </div>
      </form>
  </body> 
  </html>

您可以像这样编写搜索页面

  <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" 
   AutoEventWireup="true" CodeFile="Search.aspx.cs" Inherits="Search" %>

   <asp:Content ID="Content1" ContentPlaceHolderID="bodycontent" Runat="Server">
      //dnt include form tag here having runat = server
   </asp:Content>      

答案 1 :(得分:0)

打开Visual Studio单击文件 - &gt;新 - &gt;网站 - &gt;空网站。

创建MasterPage.master并将其添加到项目中。

示例:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPage.master.cs" Inherits="MasterPage" %>
<html>
//.......
</html> 

创建SearchPage.aspx并将其与您的母版页绑定。例如:

< Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="MasterPage.aspx.cs" Inherits="MasterPage" Title="Untitled Page" %> 

答案 2 :(得分:0)

不要向母版页添加内容(您可以,但不要为此示例添加),将其添加到内容页面(.aspx)。在母版页上使用表单意味着您不必手动将表单添加到内容页面;它会自动出现。 (母版页上的所有内容都将在内容页面上。)

正如masood所示,search.aspx(内容页面)正在使用母版页,MasterPageFile =“〜/ MasterPage.master”。内容包含在内容标记中。

答案 3 :(得分:0)

我意识到我习惯于在开源语言中进行硬编码,我使用的是HTML特定语法,这与整个母版页上的标签相冲突。在使用侧面的工具时,我找到了解决方案。

谢谢。