一步一步学Linq to sql(十):分层构架的例子
[2] 一步一步学Linq to sql(十):分层构架的例子
[3] 一步一步学Linq to sql(十):分层构架的例子
[4] 一步一步学Linq to sql(十):分层构架的例子
系列文章导航:
一步一步学Linq to sql(二):DataContext与实体
调用服务
最后,就可以调用数据访问服务来进行留言、回复、删除留言等操作了。页面的代码不再贴了,大家可以看第三篇或者下载源代码。我们把Default.cs修改成如下:
public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { SetBind(); } } protected void btn_SendMessage_Click(object sender, EventArgs e) { TbGuestBook gb = new TbGuestBook(); gb.ID = Guid.NewGuid(); gb.IsReplied = false; gb.PostTime = DateTime.Now; gb.UserName = tb_UserName.Text; gb.Message = tb_Message.Text; GetService.GetDataAccessService().SendMessage(gb); SetBind(); } private void SetBind() { rpt_Message.DataSource = GetService.GetDataAccessService().GetData(); rpt_Message.DataBind(); } } |
Admin.cs代码修改成如下:
public partial class Admin : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { SetBind(); } }
private void SetBind() { rpt_Message.DataSource = GetService.GetDataAccessService().GetData(); rpt_Message.DataBind(); } protected void rpt_Message_ItemCommand(object source, RepeaterCommandEventArgs e) { if (e.CommandName == "DeleteMessage") { GetService.GetDataAccessService().DeleteMessage(e.CommandArgument.ToString()); SetBind(); } if (e.CommandName == "SendReply") { TbGuestBook gb = new TbGuestBook(); gb.ID = new Guid(e.CommandArgument.ToString()); gb.Reply = ((TextBox)e.Item.FindControl("tb_Reply")).Text; GetService.GetDataAccessService().SendReply(gb); SetBind(); } } } |
就这样实现了一个多层构架的留言簿程序。对于WCF的一些内容本文不多作解释了。点击这里下载本篇代码。
如果您觉得这个例子太简单,还可以在这里下载一个Linq/WCF/MVC结合使用更复杂的例子,此例的目的主要演示一个框架,实现不完整。
一步一步学Linq to sql到这里就结束了,看到这里应该已经算师父领进门了,后续的提高还要靠大家自己去琢磨。