我正在创建一个将充当搜索功能的自定义用户控件。我希望能够轻松地将其添加到多个页面,而无需修改太多代码。
我认为最好的方法是创建一个简单的用户控件,我可以用一行代码在任何地方注入,然后将此控件回发到不同的 URL。因此,无论搜索功能在哪里,它都会返回到同一页面。我的控件如下所示:
<asp:TextBox ID="searchTextBox" runat="server" MaxLength="350"></asp:TextBox>
<asp:Button ID="submit" runat="server" Text="Search" PostBackUrl="~/myPostBackPage.aspx" />
myPostBackPage.aspx.cs 看起来像这样,但它没有抓取文本。
protected void Page_Load(object sender, EventArgs e)
{
content.InnerHtml = ((TextBox)PreviousPage.FindControl("searchTextBox")).Text;
}
但它没有从 searchTextBox 字段中提取任何内容,我得到:
Object reference not set to an instance of an object.
有没有更好的方法来做到这一点,或者我应该如何修复我的代码?谢谢!