Linq有很多值得学习的地方,这里我们主要介绍Linq调用数据访问服务,包括介绍Admin.cs代码修改成等方面。
Linq调用数据访问服务
Linq调用数据访问服务来进行留言、回复、删除留言等操作了。页面的代码不再贴了,我们把Default.cs修改成如下:
- public partial class _Default : System.Web.UI.Pag
- {
- 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调用数据访问服务。
【编辑推荐】