ASP.NET MasterPage Postback无法在主页上运行

时间:2013-02-06 14:24:09

标签: asp.net master-pages postback

我在MasterPage

中有此文本框和提交按钮
<telerik:RadTextBox ID="txtsearch" runat="server" EnableViewState="false" Height="23px" Width="150px"></telerik:RadTextBox>
<asp:RadioButtonList ID="searchType" runat="server" EnableViewState="False" RepeatDirection="Horizontal" RepeatLayout="Table" Width="160px">
  <asp:ListItem Selected="True" Value="1">Authors</asp:ListItem>
  <asp:ListItem Value="2">Quotes</asp:ListItem>
</asp:RadioButtonList>

以下是MasterPage中的代码,当用户点击搜索按钮

时执行
protected void btnSearch_Click(object sender, EventArgs e)
{
    if (searchType.SelectedValue == "1")
    {
        Response.Redirect("~/quotes/authors/search/" + HttpUtility.HtmlEncode(txtsearch.Text)+"/1");
    } 
    else 
    {
        Response.Redirect("~/quotes/search/"+ HttpUtility.HtmlEncode(txtsearch.Text)+"/1");
    }
}

它可以在任何页面上工作,但主页除外。如果您使用/Default.aspx访问主页,则可以正常工作。

这是网站http://www.quotestemple.com

1 个答案:

答案 0 :(得分:2)

在查看您的网站并尝试使用上面发布的代码重新生成正在发生的事情后,您似乎没有在搜索按钮上放置OnClick事件。因此,当单击该按钮时,它只会在不通过代码的情况下进行回发,因此不会触发任何事件。

尝试在按钮上添加 OnClick =“btnSearch_Click”

<asp:Button ID="btnSearch" runat="server" Text="Search" OnClick="btnSearch_Click"/>