调用服务
最后,就可以调用数据访问服务来进行留言、回复、删除留言等操作了。页面的代码不再贴了,大家可以看第三篇或者下载源代码。我们把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结合使用更复杂的例子,此例的目的主要演示一个框架,实现不完整。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步