1.连接数据库
2.创建表两个
3.主键表
字段名 | 类型 | 约束 |
---|---|---|
ID | int | 主键,自增 |
Content | nvarchar(20) | 非空 |
4.外键表
字段名 | 类型 | 约束 |
---|---|---|
ID | int | 主键,自增 |
Title | nvarchar(20) | 非空 |
Author | nvarchar(20) | 非空 |
Cont | nvarchar(50) | 非空 |
Leibie | int | 非空,外键,主键表ID |
Data | date | 默认当前日期 |
5.往两个表中添加数据,
项目操作
1.创建ASP.NET项目(.NET FromeWork)
2.创建类库Model
3.创建第二个类库DAL
4.创建第三个类库BLL
5.给Model层添加ADO.NET实体数据模型
6.跟着操作一路走下去,连接最终到连接数据库
DAL层操作
1.引用Model层
2.添加引用EntityFromework
3..添加引用EntityFromework.sqlserver
4.创建二个类,因为有两个表,一个类对应一个表
5.主键表操作代码如下:
ZuoEntities db = new ZuoEntities();
public IEnumerable<Catelog> Select()
{
var result = from u in db.Catelog select u;
return result.ToList();
}
6.外键表操作代码如下:
ZuoEntities db = new ZuoEntities();
public object Select()
{
var result = (from a in db.Article
join c in db.Catelog
on a.Leibie equals c.ID
select new {a.ID,a.Title,a.Author, a.Data,a.Cont,c.Content }).ToList();
return result;
}
查看详情代码
public object Sel(int id)
{
var result = from a in db.Article where a.ID==id select new { a.Title, a.Cont };
return result.ToList();
}
BLL层操作
1.引用模型层和DAL层
2.针对两个表进行操作
3.创建二个类,因为有两个表,一个类对应一个表
4.外键表代码如下:
ArtDAO da = new ArtDAO();
public object Select()
{
return da.Select();
}
查看详情
public object Sel(int id)
{
return da.Sel(id);
}
视图层asp.net操作
1.引用Model层,以及BLL层
2.添加引用EntityFromework
3..添加引用EntityFromework.sqlserver
4.在Model层中找到App.config文件
5.剪切文件
6.将刚才剪切的代码放入视图层web.config中
7.创建新窗体fault命名
8.代码如下:
<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
<ItemTemplate>
<div style="border: 1px solid #ffd800; width: 250px; margin: 0 auto; margin-top: 10px; border-radius: 35px; background-color: lightgray;">
<div style="flex-direction: row; text-align: center; margin: 0 auto;">
<span style="color:white">编号<%# Eval("ID") %></span>
<p style="color: mediumpurple">标题:<%# Eval("Title") %></p>
<span style="color: #d200ff">作者:<%# Eval("Author") %></span>
<p style="color: aquamarine">日期:<%# Eval("Data") %></p>
<div style="border: 1px solid white; background-color: pink; border-radius: 20px;">
<p>
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="di" CommandArgument='<%# Eval("ID") %>' ForeColor="#ccffff"><%# Eval("Cont") %></asp:LinkButton>
</p>
</div>
<span >类别:<%# Eval("Content") %></span>
</div>
</div>
</ItemTemplate>
9.repeater控件绑定代码如下:
ArtService se = new ArtService();
protected void Page_Load(object sender, EventArgs e)
{
this.Repeater1.DataSource = se.Select();
this.Repeater1.DataBind();
}
10.注意LinkButton控件里边的两个很重要的属性 一个是CommandName这个属性是命名,咱们就以di来 另一个是CommandArgument这个是绑定的ID,及待会要进行的ID查看,也是进行传值
11.在repeater控件中添加一个属性OnItemCommand,该属性是用来写方法的
12.新建一个web窗体xq.aspx,待会进行跳转查询详情信息
13.在xq.aspx窗体里边添加数据,代码如下:
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<div style="margin:0px auto;width:250px;height:100px;border-radius:50px;line-height:40px; text-align:center;background-color:aquamarine">
<p>标题:<%# Eval("Title") %></p>
<p>内容:<%# Eval("Cont") %></p>
</div>
</ItemTemplate>
</asp:Repeater>
14.转到刚才在repeater控件中添加的属性OnItemCommand后台代码,如下:
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
int id = int.Parse(e.CommandArgument.ToString());
if (e.CommandName == "di")
{
Response.Redirect("xq.aspx?id="+id);
}
}
15.因为发送了id值过来,我们需要进行接收。
16.在xq.aspx窗体中,转到后台代码进行接收如下:
此代码是为了接收传过来的id值
int id = int.Parse(Request.QueryString["id"]);
17.完整的详情如下:
public partial class xq : System.Web.UI.Page
{
ArtService se = new ArtService();
protected void Page_Load(object sender, EventArgs e)
{
int id = int.Parse(Request.QueryString["id"]);
this.Repeater1.DataSource = se.Sel(id);
this.Repeater1.DataBind();
}
}