这学期在学习asp.net虽然每节课都在听,但是学到的东西也不多。最近老师要求我们叫一次作业,内容是做一个简单的联系人信息管理系统,包括联系人的增加,查找,删除和更新。做起来非常费劲,主要是不会熟悉asp.net代码,主要就是平时练习太少了,问同学大概写了一个自己的。由于没有学习页面的转换,所以是在一个页面中完成的,用到了三个panel,panel有一个visible属性,visible属性有两个值(true和fasle)。其中增加和查找各用到一个panel,更新和删除用到的是同一个panel。删除和更新是用控件来做的(我用的是detailsview)。需要注意的是要实现该控件中的删除和更新属性,需要在数据库中设置主键,在配置数据源时,需要在高级设置中启用相关选项。在实现查找时用到的是一个dropdownlist。 完成这个作业还需要链接数据库,数据库中只需要一个表mydb,列包括有id, tel, emaile, address。下面就是我的源代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<style type="text/css">
.style1
{
font-family: 黑体;
text-align: center;
font-size: xx-large;
}
.style2
{
width: 100%;
}
.style3
{}
.style4
{
height: 101px;
width: 296px;
}
.style5
{
width: 296px;
}
.style7
{
width: 296px;
height: 109px;
}
.style8
{
height: 109px;
}
.style9
{
font-family: 仿宋_GB2312;
font-size: x-large;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div class="style1">
<strong>联系人信息管理</strong></div>
<table class="style2">
<tr>
<td class="style5">
<br />
<br />
<asp:LinkButton ID="LinkButton1" runat="server" οnclick="LinkButton1_Click"
style="font-family: 仿宋_GB2312; font-size: x-large">添加联系人</asp:LinkButton>
<br />
<br />
<br />
<br />
</td>
<td class="style3" rowspan="3">
<asp:Panel ID="Panel4" runat="server" Height="331px" Visible="False">
<span class="style9">姓名</span>:
<asp:TextBox ID="TextBox5" runat="server" style="font-family: 仿宋_GB2312"></asp:TextBox>
<br />
<br />
<br />
<br />
<span class="style9">电话:</span>
<asp:TextBox ID="TextBox6" runat="server"></asp:TextBox>
<br />
<br />
<br />
<br />
<span class="style9"> Email:</span>
<asp:TextBox ID="TextBox7" runat="server"></asp:TextBox>
<br />
<br />
<br />
<br />
<br />
<span class="style9">地址</span>:
<asp:TextBox ID="TextBox8" runat="server" style="margin-left: 0px"></asp:TextBox>
<br />
<br />
<asp:Button ID="Button3" runat="server" οnclick="Button3_Click"
style="font-family: 仿宋_GB2312; font-size: x-large" Text="添加" />
<asp:Label ID="Label11" runat="server"
style="font-family: 仿宋_GB2312; font-size: xx-large"></asp:Label>
<asp:SqlDataSource ID="SqlDataSource3" runat="server"
ConnectionString="<%$ ConnectionStrings:mydbConnectionString5 %>"
SelectCommand="SELECT [id], [tel], [email], [address] FROM [Table_1]">
</asp:SqlDataSource>
</asp:Panel>
</td>
</tr>
<tr>
<td class="style5">
<br />
<br />
<asp:LinkButton ID="LinkButton2" runat="server" οnclick="LinkButton2_Click"
style="font-family: 仿宋_GB2312; font-size: x-large">查找联系人</asp:LinkButton>
<br />
<br />
<br />
<br />
</td>
</tr>
<tr>
<td class="style4">
<br />
<br />
<asp:LinkButton ID="LinkButton3" runat="server" οnclick="LinkButton3_Click"
style="font-family: 仿宋_GB2312; font-size: x-large">删除联系人</asp:LinkButton>
<br />
<br />
<br />
<br />
</td>
</tr>
<tr>
<td class="style7">
<br />
<br />
<asp:LinkButton ID="LinkButton4" runat="server" οnclick="LinkButton4_Click"
style="font-family: 仿宋_GB2312; font-size: x-large">更新联系人</asp:LinkButton>
<br />
<br />
</td>
<td class="style8">
<asp:Panel ID="Panel5" runat="server" Height="149px" Visible="False">
<span class="style9">姓名:</span><asp:DropDownList ID="DropDownList2"
runat="server" AutoPostBack="True" DataSourceID="SqlDataSource3"
DataTextField="id" DataValueField="id"
style="font-family: 黑体; font-size: x-large">
</asp:DropDownList>
<asp:Button ID="Button4" runat="server" Height="36px" οnclick="Button4_Click1"
style="font-family: 仿宋_GB2312; font-size: x-large" Text="查询" />
<br />
<asp:Label ID="Label7" runat="server"
style="font-family: 仿宋_GB2312; font-size: x-large"></asp:Label>
<br />
<asp:Label ID="Label8" runat="server"
style="font-family: 仿宋_GB2312; font-size: x-large"></asp:Label>
<br />
<asp:Label ID="Label9" runat="server"
style="font-family: 仿宋_GB2312; font-size: x-large"></asp:Label>
<br />
<asp:Label ID="Label10" runat="server"
style="font-family: 仿宋_GB2312; font-size: x-large"></asp:Label>
<br />
</asp:Panel>
</td>
</tr>
</table>
<asp:Panel ID="Panel7" runat="server" Height="173px" Visible="False">
<asp:DetailsView ID="DetailsView1" runat="server"
Height="50px" Width="125px" AllowPaging="True" AutoGenerateRows="False"
BackColor="#DEBA84" BorderColor="#DEBA84" BorderStyle="None" BorderWidth="1px"
CellPadding="3" CellSpacing="2" DataKeyNames="id" DataSourceID="SqlDataSource4">
<EditRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="White" />
<Fields>
<asp:BoundField DataField="id" HeaderText="id" ReadOnly="True"
SortExpression="id" />
<asp:BoundField DataField="tel" HeaderText="tel" SortExpression="tel" />
<asp:BoundField DataField="email" HeaderText="email" SortExpression="email" />
<asp:BoundField DataField="address" HeaderText="address"
SortExpression="address" />
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True"
ShowInsertButton="True" />
</Fields>
<FooterStyle BackColor="#F7DFB5" ForeColor="#8C4510" />
<HeaderStyle BackColor="#A55129" Font-Bold="True" ForeColor="White" />
<PagerStyle ForeColor="#8C4510" HorizontalAlign="Center" />
<RowStyle BackColor="#FFF7E7" ForeColor="#8C4510" />
</asp:DetailsView>
<br />
<asp:SqlDataSource ID="SqlDataSource4" runat="server"
ConnectionString="<%$ ConnectionStrings:mydbConnectionString6 %>"
DeleteCommand="DELETE FROM [Table_1] WHERE [id] = @id"
InsertCommand="INSERT INTO [Table_1] ([id], [tel], [email], [address]) VALUES (@id, @tel, @email, @address)"
SelectCommand="SELECT [id], [tel], [email], [address] FROM [Table_1]"
UpdateCommand="UPDATE [Table_1] SET [tel] = @tel, [email] = @email, [address] = @address WHERE [id] = @id">
<DeleteParameters>
<asp:Parameter Name="id" Type="String" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="id" Type="String" />
<asp:Parameter Name="tel" Type="String" />
<asp:Parameter Name="email" Type="String" />
<asp:Parameter Name="address" Type="String" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="tel" Type="String" />
<asp:Parameter Name="email" Type="String" />
<asp:Parameter Name="address" Type="String" />
<asp:Parameter Name="id" Type="String" />
</UpdateParameters>
</asp:SqlDataSource>
</asp:Panel>
<p>
</p>
<p>
</p>
</form>
<p>
</p>
<p>
</p>
<p>
</p>
<p>
</p>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// Panel1.Visible = false;
//Panel2.Visible = false;
// Panel3.Visible = false;
}
protected void LinkButton1_Click(object sender, EventArgs e)
{
Panel4.Visible = true;
Panel5.Visible = false;
Panel7.Visible = false;
Label11.Text = null;
}
protected void Button3_Click(object sender, EventArgs e)
{
Label11.Text = "添加成功!";
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=(local);Initial Catalog=mydb;Integrated Security=True";
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "insert into Table_1 values(@id,@tel,@email,@address)";
cmd.Parameters.AddWithValue("@id", TextBox5.Text);
cmd.Parameters.AddWithValue("@tel", TextBox6.Text);
cmd.Parameters.AddWithValue("@email", TextBox7.Text);
cmd.Parameters.AddWithValue("@address", TextBox8.Text);
cmd.ExecuteNonQuery();
TextBox5.Text = null;
TextBox6.Text = null;
TextBox7.Text = null;
TextBox8.Text = null;
}
protected void LinkButton2_Click(object sender, EventArgs e)
{
Panel4.Visible = false;
Panel5.Visible = true;
Panel7.Visible = false;
}
protected void LinkButton3_Click(object sender, EventArgs e)
{
Panel4.Visible = false;
Panel5.Visible = false;
Panel7.Visible = true;
}
protected void LinkButton4_Click(object sender, EventArgs e)
{
Panel4.Visible = false;
Panel5.Visible = false;
Panel7.Visible = true;
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
}
protected void Button4_Click1(object sender, EventArgs e)
{
Panel4.Visible = false;
Panel5.Visible = true;
Panel7.Visible = false;
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "Data Source=(local);Initial Catalog=mydb;Integrated Security=True";
conn.Open();
SqlCommand mycmd = new SqlCommand();
mycmd.Connection = conn;
mycmd.CommandText = "select * from Table_1 where id=@id";
mycmd.Parameters.AddWithValue("@id", DropDownList2.SelectedValue);
SqlDataReader reader = mycmd.ExecuteReader();
if (reader.Read())
{
Label7.Text = "姓名:" + reader["id"].ToString();
Label8.Text = "电话:" + reader["tel"].ToString();
Label9.Text = "邮箱:" + reader["email"].ToString();
Label10.Text = "地址:" + reader["address"].ToString();
}
reader.Close();
}
}
运行时是这样的:
点击添加联系人:
点击查找联系人:
点击更新或删除:
功能还不全面,希望通过学习改正!