博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
XPO学习(6)----实现一个简单的留言薄(ASP.NET)
阅读量:6097 次
发布时间:2019-06-20

本文共 2549 字,大约阅读时间需要 8 分钟。

l留言簿是网站上很常见的一个功能。一个访问者可以通过这个留言簿留下姓名,EMAIL,消息标题及内容。内容显示用ASPxNewscontrol控件。类似界面如下:

步骤:

1.界面设计

2.定义一个持久类

3.XPO与数据库建立连接

4.把Comment 绑定到XpoDataSource 控件 

5.创建XPO session

6.绑定数据源到ASPxNewsControl

7.实现保存内容

具体实现:

1.界面设计:

先拖拽 一个XpoDataSource控件用于存放数据和从数据库中查询数据。在拖拽一个ASPxNewsControl用于显示数据,在拖拽一个ASPxRoundPanel来做个编辑留言的区域,再分别拖拽三个ASPxLabel和ASPxTestBox和ASPxMemo 和一个ASPxbutton,并修改下ID属性。

2.定义持久类:

先创建一个名为:Comment的持久对象的类;代码如下:

public class Comment : XPObject     {
public DateTime Date; public string Text; public string Title; public string Email; public Comment() : base() {
} public Comment(Session session) : base(session) {
// This constructor is used when an object is loaded from a persistent storage. // Do not place any code here. } public Comment(Session session, DateTime date, string text, string title, string email, string visitorName) : base(session) {
this.Date = date; this.Text = text + "[" + visitorName + "," + email + "]"; this.Title = title; } public override void AfterConstruction() {
base.AfterConstruction(); // Place here your initialization code. } }

3.XPO与数据库建立连接。

在Application_Start事件里写入一下代码:

protected void Application_Start(object sender, EventArgs e)         {
string conn = DevExpress.Xpo.DB.AccessConnectionProvider.GetConnectionString(Server.MapPath("~\\App_Data\\Comments.mdb")); DevExpress.Xpo.Metadata.XPDictionary dict = new DevExpress.Xpo.Metadata.ReflectionDictionary(); dict.GetDataStoreSchema(typeof(Comment).Assembly); DevExpress.Xpo.XpoDefault.Session = null; DevExpress.Xpo.DB.IDataStore store = DevExpress.Xpo.XpoDefault.GetConnectionProvider(conn, DevExpress.Xpo.DB.AutoCreateOption.SchemaAlreadyExists); DevExpress.Xpo.XpoDefault.DataLayer = new DevExpress.Xpo.ThreadSafeDataLayer(dict, store); }

4.把Comment绑定到XPODataSource控件上

5.创建Session

在PageInit事件里填写如下代码:

protected void Page_Init(object sender, EventArgs e)         {
session1 = new Session(); XpoDataSource1.Session = session1; }

6.实现保存

在buttonclick事件里填写如下代码:

Comment newComment = new Comment(session1, DateTime.Today, ASPxMmContent.Text, ASPxTbTitle.Text, ASPxTbEmail.Text, ASPxTbName.Text);             newComment.Save();             ASPxNewsControl1.DataBind();

OK,启动调试:

界面出来了,

总结:

这一节我们实现了一个简单的留言板的功能。巩固了ASP.NET应用程序使用XPO操作数据库的一般步骤。练习了ASPxNewsControl和ASPxRoundPanel的使用。

转载于:https://www.cnblogs.com/OOAbooke/archive/2011/10/20/2218620.html

你可能感兴趣的文章
JavaScript引用类型之Array类型一
查看>>
两个,当时用的那个不记得了
查看>>
关于加解密的
查看>>
redis_常用命令
查看>>
高效SQL语句(SQL Server)
查看>>
javax.servlet.ServletException: Servlet.init() for servlet springmvc threw exception
查看>>
GO 新开发者要注意的陷阱和常见错误
查看>>
vmware 两删除一清空
查看>>
ArcGIS数据生产与精细化制图之中国年降水量分布图的制作(转载)
查看>>
使用jstl时需要导入两个jar包
查看>>
学习微信小程序之css17定位
查看>>
[转]西游记新解
查看>>
Raspberry Pi3 ~ C语言控制串口
查看>>
Hashtable源码分析
查看>>
netsh-winsock-reset;ping的通公网IP和DNS地址和内网网关,就是不能解析域名;
查看>>
codevs——2181 田忌赛马
查看>>
cogs——73. 找最佳通路
查看>>
洛谷——P4017 最大食物链计数
查看>>
[Android实例] webview 实现翻页功能
查看>>
13、UsingDelegateCommands-MVVM WPF命令的使用
查看>>