1

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

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

希望你能帮忙。

谢谢。

4

4 回答 4

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>      
于 2013-04-26T08:47:39.660 回答
0

打开 Visual Studio 单击文件 -> 新建 -> 网站 -> 空网站。

创建一个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" %> 
于 2013-04-26T08:49:09.303 回答
0

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

谢谢你。

于 2013-05-01T23:21:33.120 回答
0

不要将内容添加到母版页(您可以,但在本示例中不要),将其添加到内容页 (.aspx)。将表单放在母版页上意味着您不必手动将表单添加到内容页面;它自动在那里。(母版页上的所有内容都将在内容页上。)

正如 masood 所示,search.aspx(内容页)正在使用母版页,MasterPageFile="~/MasterPage.master"。内容进入内容标签。

于 2013-04-26T09:20:12.967 回答