⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myoneday.cs

📁 征服ASP.NET 2.0 Ajax 典型应用源码
💻 CS
字号:
using System;
using System.ComponentModel;
using System.Configuration;
using System.Data;
using System.IO;
using System.Web;
/// <summary>
/// 我的一天的任务
/// </summary>
[DataObject(true)]
public class MyOneDay
{
    // 根目录
    private string _ApplicationPath;
    private DataSet _ds;//数据源
    public MyOneDay()
    {
    }
    private DataTable Table//一天所有的任务
    {
        get
        {
            if (_ds == null)//数据源为空,则从xml文件中读取
            {
                _ds = new DataSet();
                _ds.ReadXml(XmlFile);
            }
            return _ds.Tables[0];
        }
    }
    //获取网站的跟目录
    protected string RootPath
    {
        get
        {
            if (_ApplicationPath != null)
            {
                return _ApplicationPath;
            }
            else if (HttpContext.Current != null)//获取根目录
            {
                return _ApplicationPath = HttpContext.Current.Server.MapPath(HttpContext.Current.Request.ApplicationPath);
            }
            else//出现错误
            {
                throw new ApplicationException("没有找到根目录.");
            }
        }
    }
    protected string XmlFile //xml文件的名字,包含路径
    {
        get { return Path.Combine(RootPath, @"App_Data\myoneday.xml"); }
    }
    [DataObjectMethod(DataObjectMethodType.Select)]
    public DataView Select()//获取一天任务的列表,以Priority排序
    {
        Table.DefaultView.Sort = "Priority";
        return Table.DefaultView;
    }
    [DataObjectMethod(DataObjectMethodType.Insert)]
    public void Insert(string Title, string Description, int Priority)//插入一项任务
    {
        DataRow dr = Table.NewRow();//新的一行
        dr["ItemID"] = Table.Rows.Count;//标志
        dr["Title"] = Title;//标题
        dr["Description"] = Description;//描述
        dr["Priority"] = Priority;//排列序号
        Table.Rows.Add(dr);
        SaveChanges();//保存插入结果
    }
    [DataObjectMethod(DataObjectMethodType.Update)]
    public void Update(string Title, string Description, int Priority, int Original_ItemID)//更新一项任务
    {
        DataRow[] rows = Table.Select(String.Format("ItemID={0}", Original_ItemID));//查找到该任务
        if (rows.Length > 0)
        {
            DataRow dr = rows[0];
            dr.BeginEdit();//开始编辑
            dr["Title"] = Title;
            if (Description == String.Empty)
            {
                dr["Description"] = null;
            }
            else
            {
                dr["Description"] = Description;
            }
            dr["Priority"] = Priority;
            dr.EndEdit();//编辑操作结束
            SaveChanges();//保存结果
        }
    }
    [DataObjectMethod(DataObjectMethodType.Delete)]
    public void Delete(int Original_ItemID)//删除一项任务
    {
        DataRow[] rows = Table.Select(String.Format("ItemID={0}", Original_ItemID));//找到该任务
        if (rows.Length > 0)
        {
            Table.Rows.Remove(rows[0]);//清除
            SaveChanges();//保存结果
        }
    }
    protected void SaveChanges()//保存xml文件
    {
        _ds.WriteXml(XmlFile, XmlWriteMode.IgnoreSchema);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -