Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在母版页上进行简单搜索,并在其他页面上显示结果_C#_Asp.net - Fatal编程技术网

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

我还是ASP.NET和C的初学者。在我目前的项目中,我必须做一个“简单的搜索”

我的搜索栏位于母版页上,我希望搜索结果显示在
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>