Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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_Sql - Fatal编程技术网

C# 根据动态下拉列表中的选择生成表?

C# 根据动态下拉列表中的选择生成表?,c#,asp.net,sql,C#,Asp.net,Sql,所以我现在正在学习ASP.NET,实际上今天是我的第二天 所以现在我想创建一个页面,在这个页面中,我首先有一个动态生成的下拉列表,它只从我的数据库和表中选择第一个名称。这是我的工作 接下来我有一个gridview表,它显示了数据库中的所有数据,目前我已经硬编码了一个名称,这样页面就不会崩溃(有100000行数据) 最后,当我发布代码时,您将看到一个复选框,当我单击它时,gridview将显示出来。我只是尝试一下,因为这是我今天学到的教训的一部分 <!DOCTYPE html> &l

所以我现在正在学习ASP.NET,实际上今天是我的第二天

所以现在我想创建一个页面,在这个页面中,我首先有一个动态生成的下拉列表,它只从我的数据库和表中选择第一个名称。这是我的工作

接下来我有一个gridview表,它显示了数据库中的所有数据,目前我已经硬编码了一个名称,这样页面就不会崩溃(有100000行数据)

最后,当我发布代码时,您将看到一个复选框,当我单击它时,gridview将显示出来。我只是尝试一下,因为这是我今天学到的教训的一部分

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <h1>Test of First Database pull</h1>
        <asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" Text="Show Panel" OnCheckedChanged="checkbox1_CheckedChanged" />
        <br />
         <br />
        <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource2" DataTextField="FirstName" DataValueField="FirstName" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"></asp:DropDownList>
         <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:ASP.NETConnectionString1 %>" ProviderName="<%$ ConnectionStrings:ASP.NETConnectionString1.ProviderName %>" SelectCommand="SELECT DISTINCT [FirstName] FROM [SampleData] ORDER BY 'FirstName' "></asp:SqlDataSource>

         <br />
         <br />
        <asp:Panel ID="Panel1" runat="server" Visible="False" >
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" EmptyDataText="There are no data records to display.">
                <Columns>
                    <asp:BoundField DataField="SSN" HeaderText="SSN" SortExpression="SSN" />
                    <asp:BoundField DataField="LastName" HeaderText="LastName" SortExpression="LastName" />
                    <asp:BoundField DataField="FirstName" HeaderText="FirstName" SortExpression="FirstName" />
                    <asp:BoundField DataField="HomeStreet" HeaderText="HomeStreet" SortExpression="HomeStreet" />
                    <asp:BoundField DataField="HomeCity" HeaderText="HomeCity" SortExpression="HomeCity" />
                    <asp:BoundField DataField="HomeState" HeaderText="HomeState" SortExpression="HomeState" />
                    <asp:BoundField DataField="HomeZip" HeaderText="HomeZip" SortExpression="HomeZip" />
                    <asp:BoundField DataField="CompanyName" HeaderText="CompanyName" SortExpression="CompanyName" />
                    <asp:BoundField DataField="CompanyStreet" HeaderText="CompanyStreet" SortExpression="CompanyStreet" />
                    <asp:BoundField DataField="CompanyCity" HeaderText="CompanyCity" SortExpression="CompanyCity" />
                    <asp:BoundField DataField="CompanyState" HeaderText="CompanyState" SortExpression="CompanyState" />
                    <asp:BoundField DataField="CompanyZip" HeaderText="CompanyZip" SortExpression="CompanyZip" />
                    <asp:BoundField DataField="HomePhone" HeaderText="HomePhone" SortExpression="HomePhone" />
                    <asp:BoundField DataField="CompanyPhone" HeaderText="CompanyPhone" SortExpression="CompanyPhone" />
                    <asp:BoundField DataField="CellPhone" HeaderText="CellPhone" SortExpression="CellPhone" />
                    <asp:BoundField DataField="DateOfBirth" HeaderText="DateOfBirth" SortExpression="DateOfBirth" />
                    <asp:BoundField DataField="DateOfHire" HeaderText="DateOfHire" SortExpression="DateOfHire" />
                </Columns>
            </asp:GridView>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ASP.NETConnectionString1 %>" 
                ProviderName="<%$ ConnectionStrings:ASP.NETConnectionString1.ProviderName %>" 
                SelectCommand="SELECT [SSN], [LastName], [FirstName], [HomeStreet], [HomeCity], [HomeState], [HomeZip], [CompanyName], 
                [CompanyStreet], [CompanyCity], [CompanyState], [CompanyZip], [HomePhone], [CompanyPhone], [CellPhone], 
                [DateOfBirth], [DateOfHire] FROM [SampleData] WHERE [FirstName] = 'Bob' "></asp:SqlDataSource>


        </asp:Panel>
    </div>
    </form>
</body>
</html>
正如你所看到的,我把这个环节称为“我相信”,我试着用这个

 <%:Session["user"]%>

在那个sql查询中,但是它说我不能在asp sql调用中使用。
因此,如果有人能帮助我,那将是令人惊讶的。

也许您应该将用户的名称添加为
SqlParameter

SqlDataSource1.SelectParameters.Add(new SqlParameter("@Name", name));
// Of course don't forget to edit your query: WHERE [FirstName] = @Name
像上面这样的东西应该可以工作(注意我还没有测试过它)

编辑:


通过将SqlDataSource配置为从
控件
会话

中设置
@Name
参数的值,可以进一步缩短此过程,我应该在aspx页面中的哪个文件中添加第一个代码?还是cs页面?您应该将其添加到代码隐藏(.cs)中。无论如何,我建议你遵循我最后的建议,这是更好的。谢谢你,我试着把它放在不起作用的地方,但我发现如果我编辑了我的网格视图的数据源,我可以使用向导告诉where子句要做什么,然后我必须将我的下拉列表设置为自动回发,这样每次它改变我都会得到所说的结果。
SqlDataSource1.SelectParameters.Add(new SqlParameter("@Name", name));
// Of course don't forget to edit your query: WHERE [FirstName] = @Name