C#函数错误,无法重定向到另一页

C#函数错误,无法重定向到另一页,c#,html,asp.net,C#,Html,Asp.net,因此,我对C#还是个新手,我目前正在测试我的项目,当用户在文本框中输入他们想要查找的内容并按enter键时,它会将他们重定向到我的搜索页面。然而,每次我试图在搜索按钮中键入内容并按enter键时,结果是 http://localhost:51182/Default.aspx 到 http://localhost:51182/Default.aspx?ctl00%24search=(无论我键入什么)。 由于搜索功能在masterpage.aspx中,我不能使用asp:按钮或其他什么 这是我在母版中

因此,我对C#还是个新手,我目前正在测试我的项目,当用户在文本框中输入他们想要查找的内容并按enter键时,它会将他们重定向到我的搜索页面。然而,每次我试图在搜索按钮中键入内容并按enter键时,结果是
http://localhost:51182/Default.aspx
http://localhost:51182/Default.aspx?ctl00%24search=(无论我键入什么)
。 由于搜索功能在masterpage.aspx中,我不能使用asp:按钮或其他什么

这是我在母版中的代码

<form class="navbar-form navbar-right">
      <input type="text" id="search" class="form-control" placeholder="Search..." runat="server">
            <button class="btn btn-default" type="submit" id="Button1" onserverclick="Button1_OnClick"><i class="glyphicon glyphicon-search"></i></button>
         </form>
protected void Button1_OnClick(object sender, EventArgs e)
{
  //The code was commented out since the search name was not able to be recognized in my webform input id so i tried to deal with the response first.
  //String searchtext = search;
  //String Search = Server.MapPath("Website\\HTML\\SearchEngine.aspx");
   Response.Redirect("~/Website/HTML/SearchEngine.aspx?search=");
}
我主要是把我认为重要的代码,如果需要的话,其他部分就这么说。除此之外,如果这是一个重复的其他问题,我很抱歉,因为我一直在尝试其他一些问题的答案,他们的修复这个问题,但我无法得到我的工作,然后我提交这个问题


希望你们能帮助我。

所以你不能有嵌套表单,但这并不是说你不能在同一页上有多个表单,它们只是不能重叠,而且只有一个可以是ASP.NET表单[runat=server]。只需确保搜索表单(可以是普通HTML表单)放置在任何表单[runat=server]之外的母版页中,并将搜索表单格式化如下:

<form class="navbar-form navbar-right">... </form>
<form class="navbar-form navbar-right" action="/Website/HTML/SearchEngine.aspx">
      <input type="text" name="search" class="form-control" placeholder="Search..." />
      <button class="btn btn-default" type="submit"><i class="glyphicon glyphicon-search"></i></button>
</form>


我将试一试。就像你说的,我不能使用另一个表单标签,因为这是我页面其余部分的母版页,不能有两个带有runat=“server”的表单标签。不,它不起作用,因为我需要表单runat=server,我不应该在masterpageCorrect中使用它。基本上,我们不能嵌套两个表单标记。是否有一个表单[runat=server]包装主控页面的子页面内容?或者在任何其他位置?@Graham erm在某些页面中是的,还有另一个带有runat=“Server”的表单,因此我不能将runat=“Server”用于我的主页操作=“/Website/HTML/SearchEngine.aspx”对我来说是可行的,但这是否意味着不需要链接到我的搜索引擎的C#功能,我仍然可以从网站上获取查询字符串?由于它以?ctl00%24search=asd在背面链接到正确的页面,因此根本不需要按钮单击事件。HTML表单以用户的输入作为参数,实现“重定向”到目标页面的目标。
<form class="navbar-form navbar-right" action="/Website/HTML/SearchEngine.aspx">
      <input type="text" name="search" class="form-control" placeholder="Search..." />
      <button class="btn btn-default" type="submit"><i class="glyphicon glyphicon-search"></i></button>
</form>