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

时间:2017-06-21 13:49:30

标签: c# html asp.net

所以我还是C#的新手,我正在测试关于搜索功能的项目,当用户键入他们想要在文本框中找到的内容并按回车键时,它会将它们重定向到我的搜索页面。但是,每次我尝试在搜索按钮中键入内容并按回车键出来的内容     http://localhost:51182/Default.aspx 至     http://localhost:51182/Default.aspx?ctl00%24search=(whatever I keyed)。 由于搜索功能在masterpage.aspx中,我不能使用asp:buttons或者什么。

这是我在母版页中的代码。

<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>

这是我的主页的c#代码。

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=");
}

我主要把我认为重要的代码放在一边,如果需要,其他部分就是这么说的。除此之外,如果这是与其他问题的重复,我很抱歉,因为我一直在尝试解决其他问题的答案,但我无法完成工作,然后我提交了这个问题。

希望你们能帮助我。

2 个答案:

答案 0 :(得分:1)

<form class="navbar-form navbar-right">... </form>

在ASP.NET WebForm中,您不能使用其他表单标记,因为已有runat="server"的主表单标记。

最简单的方法是使用 Panel 。当用户在文本框中键入并按 Enter 键时,它将调用Button1_OnClick事件。

例如,

<asp:Panel ID="SearchPanel" runat="server" DefaultButton="SearchLinkButton">
    <asp:TextBox runat="server" ID="SearchTextBox" CssClass="form-control"
        placeholder="Search..." />
    <asp:LinkButton runat="server" ID="SearchLinkButton" CssClass="btn btn-primary"
        OnClick="SearchLinkButton_Click">
        <i class="glyphicon glyphicon-search"></i> 
    </asp:LinkButton>
</asp:Panel>

答案 1 :(得分:0)

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

<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>
相关问题