程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> C#發現之旅第三講 使用C#開發基於XSLT的代碼生成器(1)(3)

C#發現之旅第三講 使用C#開發基於XSLT的代碼生成器(1)(3)

編輯:關於C語言

可以看到上 面放置了一些簡單的控件。其中比較重要的有

數據表名下拉列表,該列表列出了數據 庫中所有數據表的名稱。

XSLT模板名稱下拉列表,該列表列出了所有系統可用的XSLT 模板文件的名稱。

刷新系統按鈕,用於刷新系統數據設置,重新填充數據表名列表和 模板名列表。

創建代碼,根據當前選擇的數據表名和XSLT模板名稱創建代碼。

生成的源代碼文本標簽,使用Html格式來顯示生成的源代碼。

打開這個頁面 的C#代碼,可以看到其代碼也不復雜。這個頁面的Page_Load函數調用了刷新系統的方法 RefreshSystem。

/// <summary>
/// 刷新系統
/// </summary>
private void RefreshSystem( )
{
  DataBaseInfo info = this.GetInfo();
  this.lblResult.Text = info.Name ;
  if( cboTable.Items.Count == 0 )
  {
    cboTable.Items.Add( new ListItem("所有表" , "所有表" ));
    foreach( TableInfo table in info.Tables )
    {
       cboTable.Items.Add( new ListItem( table.Name , table.Name ));
    }
  }
  if( cboXSLT.Items.Count == 0 )
  {
     cboXSLT.Items.Add("XML代碼");
    string[] names = System.IO.Directory.GetFiles( this.MapPath(".") , "_*.xslt");
    if( names != null && names.Length > 0 )
    {
      foreach( string name in names )
       {
        string name2 = System.IO.Path.GetFileNameWithoutExtension( name );
         this.cboXSLT.Items.Add( new ListItem( name2 , name2 ));
      }
    }
  }
}//private void RefreshSystem( )
/// <summary>
/// 獲得數據庫結構信息對象
/// </summary>
/// <returns>數據庫結構信息對象</returns>
private DataBaseInfo GetInfo( )
{
  DataBaseInfo info = this.Session["info"] as DataBaseInfo ;
  if( info == null )
  {
    info = new DataBaseInfo();
    info.LoadFromAccess2000( this.MapPath ("demomdb.mdb"));
    this.Session["info"] = info ;
  }
  return info ;
}   

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved