Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.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# 使用stringbuilder向表中添加信息,然后对ASP.Net进行排序_C#_Asp.net_Arraylist_Html Table - Fatal编程技术网

C# 使用stringbuilder向表中添加信息,然后对ASP.Net进行排序

C# 使用stringbuilder向表中添加信息,然后对ASP.Net进行排序,c#,asp.net,arraylist,html-table,C#,Asp.net,Arraylist,Html Table,我对C和ASP.Net有点陌生 我想制作一个web应用程序,在其中我可以将信息添加到要显示的html表中。 MySQL和类似的东西没有什么真正的进步,只是一个简单的例子 我希望能够添加这些人,然后在以后按性别对他们进行排序,男性,女性,但不管我怎么做,显示他们所有人的列表都有效,但其他两个不行。 当我添加一个男性时,我可以看到男性,但是如果我添加一个女性,男性消失,另一个表中出现一个女性。等等 下面是它正在做的事情的gif: 我试着这样做: WebForm1.aspx.cs WebForm1.a

我对C和ASP.Net有点陌生

我想制作一个web应用程序,在其中我可以将信息添加到要显示的html表中。 MySQL和类似的东西没有什么真正的进步,只是一个简单的例子

我希望能够添加这些人,然后在以后按性别对他们进行排序,男性,女性,但不管我怎么做,显示他们所有人的列表都有效,但其他两个不行。 当我添加一个男性时,我可以看到男性,但是如果我添加一个女性,男性消失,另一个表中出现一个女性。等等

下面是它正在做的事情的gif:

我试着这样做:

WebForm1.aspx.cs

WebForm1.aspx

我听说也许使用Arraylist和GridView或其他更容易一些,但我不知道怎么做


请帮助。

这里是我创建的一个示例。希望能有帮助。你可以下载它

它使用可排序的GridView控件,单击标题文本和用于数据访问的SqlDataSource

<div class="row" style="margin-top: 50px">
    <div class="col-lg-8">

        <div class="panel panel-default">
            <div class="panel-heading">All Users</div>
            <div class="panel-body">
                <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="Id" DataSourceID="SqlDataSource1" CssClass="table" GridLines="None" AllowSorting="True">
                    <Columns>
                        <asp:BoundField DataField="Id" HeaderText="Id" InsertVisible="False" ReadOnly="True" SortExpression="Id" />
                        <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
                        <asp:BoundField DataField="Gender" HeaderText="Gender" SortExpression="Gender" />
                        <asp:BoundField DataField="MemberNumber" HeaderText="MemberNumber" SortExpression="MemberNumber" />
                        <asp:BoundField DataField="Password" HeaderText="Password" SortExpression="Password" />
                    </Columns>
                </asp:GridView>
                <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DatabaseConnectionString %>" SelectCommand="SELECT * FROM [User]"></asp:SqlDataSource>
            </div>
        </div>

        <div class="panel panel-default">
            <div class="panel-heading">Male Users</div>
            <div class="panel-body">
                <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" DataKeyNames="Id" DataSourceID="SqlDataSource2" CssClass="table" GridLines="None" AllowSorting="True">
                    <Columns>
                        <asp:BoundField DataField="Id" HeaderText="Id" InsertVisible="False" ReadOnly="True" SortExpression="Id" />
                        <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
                        <asp:BoundField DataField="Gender" HeaderText="Gender" SortExpression="Gender" />
                        <asp:BoundField DataField="MemberNumber" HeaderText="MemberNumber" SortExpression="MemberNumber" />
                        <asp:BoundField DataField="Password" HeaderText="Password" SortExpression="Password" />
                    </Columns>
                </asp:GridView>
                <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:DatabaseConnectionString %>" SelectCommand="SELECT * FROM [User] WHERE ([Gender] = @Gender)">
                    <SelectParameters>
                        <asp:Parameter DefaultValue="Male" Name="Gender" Type="String" />
                    </SelectParameters>
                </asp:SqlDataSource>
            </div>
        </div>

        <div class="panel panel-default">
            <div class="panel-heading">Female Users</div>
            <div class="panel-body">
                <asp:GridView ID="GridView3" runat="server" AutoGenerateColumns="False" DataKeyNames="Id" DataSourceID="SqlDataSource3" CssClass="table" GridLines="None" AllowSorting="True">
                    <Columns>
                        <asp:BoundField DataField="Id" HeaderText="Id" InsertVisible="False" ReadOnly="True" SortExpression="Id" />
                        <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
                        <asp:BoundField DataField="Gender" HeaderText="Gender" SortExpression="Gender" />
                        <asp:BoundField DataField="MemberNumber" HeaderText="MemberNumber" SortExpression="MemberNumber" />
                        <asp:BoundField DataField="Password" HeaderText="Password" SortExpression="Password" />
                    </Columns>
                </asp:GridView>
                <asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:DatabaseConnectionString %>" SelectCommand="SELECT * FROM [User] WHERE ([Gender] = @Gender)">
                    <SelectParameters>
                        <asp:Parameter DefaultValue="Female" Name="Gender" Type="String" />
                    </SelectParameters>
                </asp:SqlDataSource>
            </div>
        </div>

    </div>
    <div class="col-lg-4">
        <div class="panel panel-default">
            <div class="panel-heading">Add User</div>
            <div class="panel-body">
                <div role="form">
                    <div class="form-group">
                        <asp:Label ID="NameLabel" runat="server" Text="Name" AssociatedControlID="NameTextBox"></asp:Label>
                        <asp:TextBox ID="NameTextBox" runat="server" CssClass="form-control"></asp:TextBox>
                    </div>
                    <div class="form-group">
                        <asp:Label ID="Label3" runat="server" Text="Gender" AssociatedControlID="GenderDropDownList"></asp:Label>
                        <asp:DropDownList ID="GenderDropDownList" runat="server"  CssClass="form-control">
                            <asp:ListItem Selected="True" Text="Male" Value="Male"></asp:ListItem>
                            <asp:ListItem Text="Female" Value="Female"></asp:ListItem>
                        </asp:DropDownList>
                    </div>
                    <div class="form-group">
                        <asp:Label ID="Label1" runat="server" Text="Member Number" AssociatedControlID="MemberNumberTextBox"></asp:Label>
                        <asp:TextBox ID="MemberNumberTextBox" runat="server"  CssClass="form-control"></asp:TextBox>
                    </div>
                    <div class="form-group">
                        <asp:Label ID="Label2" runat="server" Text="Password" AssociatedControlID="PasswordTextBox"></asp:Label>
                        <asp:TextBox ID="PasswordTextBox" runat="server"  CssClass="form-control" TextMode="Password"></asp:TextBox>
                    </div>
                    <asp:LinkButton ID="AddButton" runat="server" CssClass="btn btn-primary form-control" OnClick="AddButton_Click">Add User</asp:LinkButton>
                </div>
            </div>
        </div>
    </div>
</div>

嘿,谢谢你的回答,但我现在有个新问题。不知何故,我似乎无法连接到SQL server。我说:在当前web请求的执行过程中生成了一个未处理的异常。有关异常的起源和位置的信息可以使用下面的异常堆栈跟踪来识别。然后[SqlException 0x80131904:无法打开登录请求的数据库1\u 1。登录失败。用户'ISMAIL-PC\imano\u 000'登录失败。]抱歉,我忘了在评论中提及您。
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Person ToString</title>
</head>
<body>
<form id="form1" runat="server">
<div style="border: 1px solid #000; padding: 5px; border-radius: 5px; width: 323px;">
    <asp:TextBox ID="name" runat="server" Width="320px" placeholder="Name.."></asp:TextBox>
    <br />
    <br />
    <asp:DropDownList ID="gender" runat="server" Width="324px">
        <asp:ListItem>Male</asp:ListItem>
        <asp:ListItem>Female</asp:ListItem>
    </asp:DropDownList>
    <br />
    <br />
    <asp:TextBox ID="mnr" runat="server" Width="320px" placeholder="Member Number.."></asp:TextBox>
    <br />
    <br />
    <asp:TextBox ID="password" runat="server" TextMode="Password" Width="320px" placeholder="Password.."></asp:TextBox>
    <br />
    <asp:Button ID="add" runat="server" OnClick="add_Click" Text="Add" Width="324px" />
</div>
    <br />
    All:<br />
    <table border="1">
        <tr>
            <td>Name</td>
            <td>Gender</td>
            <td>Member Number</td>
            <td>Password</td>
        </tr>
        <asp:Panel ID="Panel1" runat="server"></asp:Panel>
    </table>
    <br />
    Male:
    <table border="1">
        <tr>
            <td>Name</td>
            <td>Gender</td>
            <td>Member Number</td>
            <td>Password</td>
        </tr>
        <asp:Panel ID="Panel2" runat="server"></asp:Panel>
    </table>
    <br />
    Female:
    <table border="1">
        <tr>
            <td>Name</td>
            <td>Gender</td>
            <td>Member Number</td>
            <td>Password</td>
        </tr>
        <asp:Panel ID="Panel3" runat="server"></asp:Panel>
    </table>
</form>
</body>
</html>
<div class="row" style="margin-top: 50px">
    <div class="col-lg-8">

        <div class="panel panel-default">
            <div class="panel-heading">All Users</div>
            <div class="panel-body">
                <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="Id" DataSourceID="SqlDataSource1" CssClass="table" GridLines="None" AllowSorting="True">
                    <Columns>
                        <asp:BoundField DataField="Id" HeaderText="Id" InsertVisible="False" ReadOnly="True" SortExpression="Id" />
                        <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
                        <asp:BoundField DataField="Gender" HeaderText="Gender" SortExpression="Gender" />
                        <asp:BoundField DataField="MemberNumber" HeaderText="MemberNumber" SortExpression="MemberNumber" />
                        <asp:BoundField DataField="Password" HeaderText="Password" SortExpression="Password" />
                    </Columns>
                </asp:GridView>
                <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DatabaseConnectionString %>" SelectCommand="SELECT * FROM [User]"></asp:SqlDataSource>
            </div>
        </div>

        <div class="panel panel-default">
            <div class="panel-heading">Male Users</div>
            <div class="panel-body">
                <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" DataKeyNames="Id" DataSourceID="SqlDataSource2" CssClass="table" GridLines="None" AllowSorting="True">
                    <Columns>
                        <asp:BoundField DataField="Id" HeaderText="Id" InsertVisible="False" ReadOnly="True" SortExpression="Id" />
                        <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
                        <asp:BoundField DataField="Gender" HeaderText="Gender" SortExpression="Gender" />
                        <asp:BoundField DataField="MemberNumber" HeaderText="MemberNumber" SortExpression="MemberNumber" />
                        <asp:BoundField DataField="Password" HeaderText="Password" SortExpression="Password" />
                    </Columns>
                </asp:GridView>
                <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:DatabaseConnectionString %>" SelectCommand="SELECT * FROM [User] WHERE ([Gender] = @Gender)">
                    <SelectParameters>
                        <asp:Parameter DefaultValue="Male" Name="Gender" Type="String" />
                    </SelectParameters>
                </asp:SqlDataSource>
            </div>
        </div>

        <div class="panel panel-default">
            <div class="panel-heading">Female Users</div>
            <div class="panel-body">
                <asp:GridView ID="GridView3" runat="server" AutoGenerateColumns="False" DataKeyNames="Id" DataSourceID="SqlDataSource3" CssClass="table" GridLines="None" AllowSorting="True">
                    <Columns>
                        <asp:BoundField DataField="Id" HeaderText="Id" InsertVisible="False" ReadOnly="True" SortExpression="Id" />
                        <asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
                        <asp:BoundField DataField="Gender" HeaderText="Gender" SortExpression="Gender" />
                        <asp:BoundField DataField="MemberNumber" HeaderText="MemberNumber" SortExpression="MemberNumber" />
                        <asp:BoundField DataField="Password" HeaderText="Password" SortExpression="Password" />
                    </Columns>
                </asp:GridView>
                <asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:DatabaseConnectionString %>" SelectCommand="SELECT * FROM [User] WHERE ([Gender] = @Gender)">
                    <SelectParameters>
                        <asp:Parameter DefaultValue="Female" Name="Gender" Type="String" />
                    </SelectParameters>
                </asp:SqlDataSource>
            </div>
        </div>

    </div>
    <div class="col-lg-4">
        <div class="panel panel-default">
            <div class="panel-heading">Add User</div>
            <div class="panel-body">
                <div role="form">
                    <div class="form-group">
                        <asp:Label ID="NameLabel" runat="server" Text="Name" AssociatedControlID="NameTextBox"></asp:Label>
                        <asp:TextBox ID="NameTextBox" runat="server" CssClass="form-control"></asp:TextBox>
                    </div>
                    <div class="form-group">
                        <asp:Label ID="Label3" runat="server" Text="Gender" AssociatedControlID="GenderDropDownList"></asp:Label>
                        <asp:DropDownList ID="GenderDropDownList" runat="server"  CssClass="form-control">
                            <asp:ListItem Selected="True" Text="Male" Value="Male"></asp:ListItem>
                            <asp:ListItem Text="Female" Value="Female"></asp:ListItem>
                        </asp:DropDownList>
                    </div>
                    <div class="form-group">
                        <asp:Label ID="Label1" runat="server" Text="Member Number" AssociatedControlID="MemberNumberTextBox"></asp:Label>
                        <asp:TextBox ID="MemberNumberTextBox" runat="server"  CssClass="form-control"></asp:TextBox>
                    </div>
                    <div class="form-group">
                        <asp:Label ID="Label2" runat="server" Text="Password" AssociatedControlID="PasswordTextBox"></asp:Label>
                        <asp:TextBox ID="PasswordTextBox" runat="server"  CssClass="form-control" TextMode="Password"></asp:TextBox>
                    </div>
                    <asp:LinkButton ID="AddButton" runat="server" CssClass="btn btn-primary form-control" OnClick="AddButton_Click">Add User</asp:LinkButton>
                </div>
            </div>
        </div>
    </div>
</div>
protected void AddButton_Click(object sender, EventArgs e)
{
    // Insert new user
    using (var db = new Database("DatabaseConnectionString"))
    {
        db.Insert("User", "Id", true,
            new
            {
                Name = NameTextBox.Text,
                Gender = GenderDropDownList.SelectedValue,
                MemberNumber = MemberNumberTextBox.Text,
                Password = PasswordTextBox.Text
            });
    }

    // Refresh the data in the grid
    GridView1.DataBind();
    GridView2.DataBind();
    GridView3.DataBind();
}