I am trying to "search within your database". The first form is WebForm1.aspx which work fine and when I search on second form (entry.aspx) still it works fine, but the major problem is whenever I click next or previous button on entry form it doesn't work properly(DataPager).
Its either shows nothing or something wrong.
<form id="form1" runat="server">
<div>
<h1>search for something, man!</h1>
<p><asp:TextBox runat="server" ID="txtSearch" Text="search for something"></asp:TextBox></p>
<p><asp:Button runat="server" ID="btnSubmit" Text="Search" OnClick="btnSubmit_Click" /></p>
<asp:ListView runat="server" ID="lv">
<LayoutTemplate>
<asp:PlaceHolder runat="server" ID="itemPlaceholder"></asp:PlaceHolder>
</LayoutTemplate>
<ItemTemplate>
<a href="<%# ResolveClientUrl("~/entry.aspx?id=" + Eval("BlogTitle").ToString()) %>"><%# Server.HtmlEncode(Eval("BlogTitle").ToString())%></a><%#Eval("BlogContents")%></ItemTemplate>
</asp:ListView>
</div>
</form>
Webform.aspx.cs
protected void btnSubmit_Click(object sender, EventArgs e){
BlogDBDataContext db = new BlogDBDataContext();
dynamic q = from b in db.Blogs
where b.BlogContents.Contains(txtSearch.Text.Trim()) | b.BlogTitle.Contains(txtSearch.Text.Trim())
select b;
lv.DataSource = q;
lv.DataBind();
Session["Data"] = txtSearch.Text;
Response.Redirect("~/entry.aspx");
}
entry.aspx
<form id="form1" runat="server">
<div>
<h1>search for something, man!</h1>
<p><asp:TextBox runat="server" ID="txtSearch" Text="search for something"></asp:TextBox></p>
<p><asp:Button runat="server" ID="sub" Text="Search" OnClick="sub_Click" /></p>
<br />
<br />
<asp:ListView runat="server" ID="lv">
<LayoutTemplate>
<asp:PlaceHolder runat="server" ID="itemPlaceHolder"></asp:PlaceHolder>
</LayoutTemplate>
<ItemTemplate>
<h1><%#Eval ("BlogTitle") %></h1>
<div>
<%#Eval("BlogContents")%>
</div>
</ItemTemplate>
</asp:ListView>
</div>
<asp:DataPager ID="lvDataPager1" runat="server" PagedControlID="lv" PageSize="1" OnPreRender="lvDataPager1_PreRender1">
<Fields>
<asp:NextPreviousPagerField ShowLastPageButton="false" ButtonCssClass="previousNextLink" />
<asp:NumericPagerField ButtonType="Link" />
<asp:NextPreviousPagerField ShowPreviousPageButton="false" ButtonCssClass="previousNextLink" />
</Fields>
</asp:DataPager>
</form>
entry.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
string strTitle = "";
if (Session["Data"] != null)
{
strTitle = Session["Data"].ToString();
BlogDBDataContext db = new BlogDBDataContext();
dynamic q = from b in db.Blogs
where b.BlogContents.Contains(strTitle) | b.BlogTitle.Contains(strTitle)
select b;
lv.DataSource = q;
lv.DataBind();
}
}protected void lvDataPager1_PreRender1(object sender, EventArgs e)
{
this.lv.DataBind();
}protected void sub_Click(object sender, EventArgs e)
{
BlogDBDataContext db = new BlogDBDataContext();
dynamic q = from b in db.Blogs
where b.BlogContents.Contains(txtSearch.Text.Trim()) |b.BlogTitle.Contains(txtSearch.Text.Trim())
select b;
lv.DataSource = q;
lv.DataBind();
}