zoukankan      html  css  js  c++  java
  • XPO学习(6)实现一个简单的留言薄(ASP.NET)

    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的使用。





  • 相关阅读:
    Python assert(断言)
    Python importlib(动态导入模块)
    Python 异常处理
    Qt Clipboard剪贴板简单使用
    Qt5 QTableWidget设置列表自动适应列宽
    Fix VNC Desktop Sharing on Ubuntu Desktop 14.04
    Golang 交叉编译
    stdobj to array php
    Elasticsearch-集群原理
    Elasticsearch-基本操作2
  • 原文地址:https://www.cnblogs.com/OOAbooke/p/2218620.html
Copyright © 2011-2022 走看看