C# 在母版页上进行简单搜索,并在其他页面上显示结果
我还是ASP.NET和C的初学者。在我目前的项目中,我必须做一个“简单的搜索” 我的搜索栏位于母版页上,我希望搜索结果显示在C# 在母版页上进行简单搜索,并在其他页面上显示结果,c#,asp.net,C#,Asp.net,我还是ASP.NET和C的初学者。在我目前的项目中,我必须做一个“简单的搜索” 我的搜索栏位于母版页上,我希望搜索结果显示在Searchside.aspx上。我只想能够在我的数据库中搜索slips\u navn(tie\u name) 这就是我目前所拥有的,我不知道如何从这里继续前进 母版页按钮/文本框 <asp:TextBox ID="SearchTextBox" runat="server"></asp:TextBox> <asp:Button ID="Butt
Searchside.aspx
上。我只想能够在我的数据库中搜索slips\u navn
(tie\u name)
这就是我目前所拥有的,我不知道如何从这里继续前进
母版页按钮/文本框
<asp:TextBox ID="SearchTextBox" runat="server"></asp:TextBox>
<asp:Button ID="ButtonSearch" runat="server" Text="Søg" OnClick="ButtonSearch_Click" />
Searchside.aspx
<asp:TextBox ID="SearchTextBox" runat="server"></asp:TextBox>
<asp:Button ID="ButtonSearch" runat="server" Text="Søg" OnClick="ButtonSearch_Click" />
这就是我想要显示结果的地方
<div id="randomslips">
<b><%#Eval("maerke_navn") %></b>
<p><%#Eval("slips_navn") %></p>
<img alt="" src='prod_image2/<%# Eval("billede") %> ' height="100px" width="100px" />
<b>DKK<%#Eval("slips_pris") %>,-</b>
<a class="Infoknap" href='EnkeltSlips.aspx?id=<%#Eval("Slips_id") %>'>INFO</a>
</div>
Maerke表(品牌)
到目前为止,当我按下母版页上的搜索按钮时,我被重定向到searchside.aspx?SearchText=blue,但我不知道应该如何通过codebehind和如何连接到数据库?或者通过sql数据源/中继器以及如何?。我包括了我希望从中搜索的2个数据库表,我再次希望在tie\u name(slips\u navn)行中搜索。如果我仍然不清楚,我很抱歉,我会再次尝试更新我的问题,直到我能解释我想要的答案:)首先使用gridview或datalist在Searchside.aspx中绑定数据 之后,在Searchside.aspx的页面加载事件中,检查您过去进行搜索的查询字符串
如果你在页面加载中找到了查询字符串,就可以根据新搜索的数据集绑定数据列表或grindview。哦,很好地解决了这个问题,实际上非常简单。我想我的大脑在周五就想不出来了。这是我的结果 我仍然使用
Response.Redirect("~/searchside.aspx?SearchText=" + SearchTextBox.Text);
这是在searchside.aspx上。我在sarchside.cs上没有代码
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource3">
<ItemTemplate>
<div id="randomslips">
<b><%#Eval("maerke_navn") %></b>
<p><%#Eval("slips_navn") %></p>
<img alt="" src='prod_image2/<%# Eval("billede") %> ' height="100px" width="100px" />
<b>DKK<%#Eval("slips_pris") %>,-</b>
<a class="Infoknap" href='EnkeltSlips.aspx?id=<%#Eval("Slips_id") %>'>INFO</a>
</ItemTemplate>
</asp:Repeater>
<asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:DatabaseConnectionString1 %>" SelectCommand="SELECT * FROM [slips] INNER JOIN maerke ON slips.FK_mærke = maerke.maerke_id WHERE ([slips_navn] LIKE '%' + @slips_navn + '%')"><SelectParameters>
<asp:QueryStringParameter QueryStringField="SearchText" Name="slips_navn" Type="String"></asp:QueryStringParameter>
</SelectParameters>
</asp:SqlDataSource>
如您所见,我只是使用了一个repeater和sql数据源,并通过一个querystring参数获得了querystring字段。那么问题出在哪里?如果重定向到搜索页面并将搜索参数作为查询字符串传递,则可以在搜索页面上读取该参数。@TimSchmelter您可以演示如何执行此操作吗?目前,当我按下搜索按钮时,它会像我应该的那样重定向到searchside.aspx,并将文本字段输入添加到查询字符串“searchside.aspx?SearchText=blue”等中,然后显示我希望显示领带的框,但没有数据,因此我的问题是,我想如何从这里连接到数据库?sql数据源?代码隐藏?如果你能给我一个视觉效果,那就太好了。你被卡在哪里还不清楚。如果这个问题只是关于sql的,那么你应该删除所有ASP.NET的内容,因为它会误导你。如果不知道如何显示结果:使用服务器控件,如
面板
(用于div)和标签
,根据搜索结果设置其文本
-属性。或者您可能想列出多个,然后使用列表框
甚至网格视图
。但不要一次问多个问题。顺便说一句,如果是sql问题,你应该提供更多关于数据模型的信息。是的,如果我不清楚,我很抱歉,但是这是sql问题。我所展示的所有代码都在运行,我不确定如何完成其余的工作,我不确定SQL是否应该在masterPage或searchside.aspx等上,以及如何编写它。我通常通过Eval显示数据,所以我想到了这一点。如果我仍然不清楚,我将尝试编辑这个问题。但是我仍然是个新手,不擅长问这个问题。只要用Searchside.aspx
的方法查询你的数据库就行了。如果Request.QueryString[“SearchText”]!=空
。然后从该方法设置标签
的文本
属性,或使用数据库查询的结果填充数据表
(或其他集合,如列表
),该集合可用作web数据绑定控件(如数据列表
)的数据源
,Repeater
或GridView
并调用grid.DataBind
。因此,如果结果是一个值,我将设置一个标签文本,如果它产生多个值,则使用另一个控件(列表框
是另一个简单的选项)。谢谢你,但由于某些原因,我无法在脑海中了解如何继续,如果你能给我一个示例,那就太好了。
Response.Redirect("~/searchside.aspx?SearchText=" + SearchTextBox.Text);
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource3">
<ItemTemplate>
<div id="randomslips">
<b><%#Eval("maerke_navn") %></b>
<p><%#Eval("slips_navn") %></p>
<img alt="" src='prod_image2/<%# Eval("billede") %> ' height="100px" width="100px" />
<b>DKK<%#Eval("slips_pris") %>,-</b>
<a class="Infoknap" href='EnkeltSlips.aspx?id=<%#Eval("Slips_id") %>'>INFO</a>
</ItemTemplate>
</asp:Repeater>
<asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:DatabaseConnectionString1 %>" SelectCommand="SELECT * FROM [slips] INNER JOIN maerke ON slips.FK_mærke = maerke.maerke_id WHERE ([slips_navn] LIKE '%' + @slips_navn + '%')"><SelectParameters>
<asp:QueryStringParameter QueryStringField="SearchText" Name="slips_navn" Type="String"></asp:QueryStringParameter>
</SelectParameters>
</asp:SqlDataSource>