C# 使用stringbuilder向表中添加信息,然后对ASP.Net进行排序
我对C和ASP.Net有点陌生 我想制作一个web应用程序,在其中我可以将信息添加到要显示的html表中。 MySQL和类似的东西没有什么真正的进步,只是一个简单的例子 我希望能够添加这些人,然后在以后按性别对他们进行排序,男性,女性,但不管我怎么做,显示他们所有人的列表都有效,但其他两个不行。 当我添加一个男性时,我可以看到男性,但是如果我添加一个女性,男性消失,另一个表中出现一个女性。等等 下面是它正在做的事情的gif: 我试着这样做: WebForm1.aspx.cs WebForm1.aspx 我听说也许使用Arraylist和GridView或其他更容易一些,但我不知道怎么做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
请帮助。这里是我创建的一个示例。希望能有帮助。你可以下载它 它使用可排序的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();
}