数据对象类代码的生成小工具

闲着没事做了一个数据对象类代码生成的小工具,本来原来做过一个,是在1.1 下面的,后来找不到了,现在做程序没办法,自己写一个吧,小兴趣的朋友随便看看吧,下面是代码 :

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="DataObject.aspx.cs" Inherits="CodeGenerator_DataObject" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    
<title>Untitled Page</title>
   
<link href="style.css" rel="stylesheet" type="text/css" /> 
   
<style type="text/css">
<!--
.gridview 
{
    color
: #333333;
    background-color
: #CCDDEE;
    width
: 100%;
    text-align
: left;
}

.even 
{
    color
: #333333;
    background-color
: #FFFFFF;
}

.gridview a 
{
    font-weight
: bold;
    color
: #3399FF;
}

.gridview th a 
{
    color
:    #FFFFFF;
    font-weight
: bold;
}

.gridview th 
{
    background-color
: #666666;
    padding
: 3px;
}


h2 
{
    color
: #3399FF;
}

.gridview td 
{
    padding
: 3px;
}

body 
{
    font-family
: Verdana, Arial, Helvetica, sans-serif;
    font-size
: 14px;
    line-height
: 110%;
    text-align
: center;
}

strong 
{
    color
: #336699;
}

li 
{
    color
: #333333;
}

em 
{
    color
: #FF9966;
}

#main 
{
    width
: 760px;
    text-align
: left;
    text-indent
: 20px;
    border
: 1px dashed #009933;
    padding
: 10px;
    margin-top
: 5px;
    margin-right
: 0px;
    margin-bottom
: 0px;
    margin-left
: 0px;
    background-repeat
: repeat-x;
}

-->
   
</style>
</head>
<body>
    
<form id="form1" runat="server">
    
<div id = "main" style="filter:progid:DXImageTransform.Microsoft.Gradient(startColorStr='#CEDFF6', endColorStr='#4B92D9', gradientType='0')">
   
<h4>Data object code generator by Darkangle 29 Mar,2006</h4> 
   
<div id = "MYNameSpace">
   
<table class="gridview">
        
<tr>
            
<td>Name Space : </td>
            
<td> <asp:TextBox ID="NameSpace" runat="server"></asp:TextBox>  <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="NameSpace"
           ErrorMessage
="RequiredFieldValidator"></asp:RequiredFieldValidator></td>
        
</tr>
        
<tr>
            
<td>Class  Name :</td>
            
<td><asp:TextBox ID="ClassName" runat="server"></asp:TextBox>
       
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="ClassName"
           ErrorMessage
="RequiredFieldValidator"></asp:RequiredFieldValidator></td>
        
</tr>
   
</table>
      
</div>
   
<hr />
        
<table class="gridview">
            
<tr>
                
<th><span style="color: White;">Property Name</span></th>
                
<th><span style="color: White;">Read | Write | Property Type</span></th>
            
</tr>
            
<tr>
                
<td><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td>
                
<td><asp:CheckBoxList ID="CheckBoxList1" runat="server" RepeatLayout="Flow" RepeatDirection="Horizontal">
                        
<asp:ListItem>Read</asp:ListItem>
                        
<asp:ListItem>Write</asp:ListItem>
                    
</asp:CheckBoxList>
                    
<asp:TextBox ID="PropertyType1" Text="string" runat="server"></asp:TextBox>
              
</td>
            
</tr>
                        
<tr>
                
<td><asp:TextBox ID="TextBox2" runat="server"></asp:TextBox></td>
                
<td><asp:CheckBoxList ID="CheckBoxList2" runat="server" RepeatLayout="Flow" RepeatDirection="Horizontal">
                        
<asp:ListItem>Read</asp:ListItem>
                        
<asp:ListItem>Write</asp:ListItem>
                    
</asp:CheckBoxList>
                    
<asp:TextBox ID="PropertyType2" Text="string" runat="server"></asp:TextBox>
                    
</td>
            
</tr>
                        
<tr>
                
<td><asp:TextBox ID="TextBox3" runat="server"></asp:TextBox></td>
                
<td><asp:CheckBoxList ID="CheckBoxList3" runat="server" RepeatLayout="Flow" RepeatDirection="Horizontal">
                        
<asp:ListItem>Read</asp:ListItem>
                        
<asp:ListItem>Write</asp:ListItem>
                    
</asp:CheckBoxList>
                    
<asp:TextBox ID="PropertyType3" Text="string" runat="server"></asp:TextBox>
                    
</td>
            
</tr>
                        
<tr>
                
<td><asp:TextBox ID="TextBox4" runat="server"></asp:TextBox></td>
                
<td><asp:CheckBoxList ID="CheckBoxList4" runat="server" RepeatLayout="Flow" RepeatDirection="Horizontal">
                        
<asp:ListItem>Read</asp:ListItem>
                        
<asp:ListItem>Write</asp:ListItem>
                    
</asp:CheckBoxList>
                    
<asp:TextBox ID="PropertyType4" Text="string" runat="server"></asp:TextBox>
                    
</td>
            
</tr>
                        
<tr>
                
<td><asp:TextBox ID="TextBox5" runat="server"></asp:TextBox></td>
                
<td><asp:CheckBoxList ID="CheckBoxList5" runat="server" RepeatLayout="Flow" RepeatDirection="Horizontal">
                        
<asp:ListItem>Read</asp:ListItem>
                        
<asp:ListItem>Write</asp:ListItem>
                    
</asp:CheckBoxList>
                    
<asp:TextBox ID="PropertyType5" Text="string" runat="server"></asp:TextBox>
                    
</td>
            
</tr>
                        
<tr>
                
<td><asp:TextBox ID="TextBox6" runat="server"></asp:TextBox></td>
                
<td><asp:CheckBoxList ID="CheckBoxList6" runat="server" RepeatLayout="Flow" RepeatDirection="Horizontal">
                        
<asp:ListItem>Read</asp:ListItem>
                        
<asp:ListItem>Write</asp:ListItem>
                    
</asp:CheckBoxList>
                    
<asp:TextBox ID="PropertyType6" Text="string" runat="server"></asp:TextBox>
                    
</td>
            
</tr>
                        
<tr>
                
<td><asp:TextBox ID="TextBox7" runat="server"></asp:TextBox></td>
                
<td><asp:CheckBoxList ID="CheckBoxList7" runat="server" RepeatLayout="Flow" RepeatDirection="Horizontal">
                        
<asp:ListItem>Read</asp:ListItem>
                        
<asp:ListItem>Write</asp:ListItem>
                    
</asp:CheckBoxList>
                    
<asp:TextBox ID="PropertyType7" Text="string" runat="server"></asp:TextBox>
                    
</td>
            
</tr>
                        
<tr>
                
<td><asp:TextBox ID="TextBox8" runat="server"></asp:TextBox></td>
                
<td><asp:CheckBoxList ID="CheckBoxList8" runat="server" RepeatLayout="Flow" RepeatDirection="Horizontal">
                        
<asp:ListItem>Read</asp:ListItem>
                        
<asp:ListItem>Write</asp:ListItem>
                    
</asp:CheckBoxList>
                    
<asp:TextBox ID="PropertyType8" Text="string" runat="server"></asp:TextBox>
                    
</td>
            
</tr>
                        
<tr>
                
<td><asp:TextBox ID="TextBox9" runat="server"></asp:TextBox></td>
                
<td><asp:CheckBoxList ID="CheckBoxList9" runat="server" RepeatLayout="Flow" RepeatDirection="Horizontal">
                        
<asp:ListItem>Read</asp:ListItem>
                        
<asp:ListItem>Write</asp:ListItem>
                    
</asp:CheckBoxList>
                    
<asp:TextBox ID="PropertyType9" Text="string" runat="server"></asp:TextBox>
                    
</td>
            
</tr>
                        
<tr>
                
<td><asp:TextBox ID="TextBox10" runat="server"></asp:TextBox></td>
                
<td><asp:CheckBoxList ID="CheckBoxList10" runat="server" RepeatLayout="Flow" RepeatDirection="Horizontal">
                        
<asp:ListItem>Read</asp:ListItem>
                        
<asp:ListItem>Write</asp:ListItem>
                    
</asp:CheckBoxList>
                    
<asp:TextBox ID="PropertyType10" Text="string" runat="server"></asp:TextBox>
                    
</td>
            
</tr>
        
</table> 
        
<hr />
        
<asp:Button ID="Button1" runat="server" Text="Get Code Now !" OnClick="Button1_Click" />
        
<div id = "MYcode">
            
<asp:Literal ID="code" runat="server"></asp:Literal>
        
</div>
      
</div>
    
</form>
</body>
</html>
下面是后台代码 :
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class CodeGenerator_DataObject : System.Web.UI.Page
{
    
protected void Page_Load(object sender, EventArgs e)
    
{

    }

    
protected void Button1_Click(object sender, EventArgs e)
    
{
        System.Text.StringBuilder sb 
= new System.Text.StringBuilder();
        System.Text.StringBuilder sb1 
= new System.Text.StringBuilder();
        System.Text.StringBuilder sb2 
= new System.Text.StringBuilder();
        System.Text.StringBuilder sb3 
= new System.Text.StringBuilder();
        System.Text.StringBuilder sb4 
= new System.Text.StringBuilder();
        sb.Append(
"namespace " + NameSpace.Text + " {<br />");
        sb.Append(
"public class " + ClassName.Text + " {<br />");
        
//加入空的构造函数
        sb3.Append("public " + ClassName.Text + "() {}<br />");
        sb3.Append(
"public " + ClassName.Text + "(");
        
for(int i = 1;i < 11;i++)
        
{
            TextBox tb 
= (TextBox)Page.FindControl("TextBox" + i);
            TextBox propertytype 
= (TextBox)Page.FindControl("PropertyType" + i);
            CheckBoxList cbl 
= (CheckBoxList)Page.FindControl("CheckBoxList" + i);
            
//属性名不为空
            if(!(tb.Text == String.Empty))
            
{
                sb1.Append(
"private "  + propertytype.Text +  " _" + tb.Text + ";<br />");
                sb2.Append(
"public " + propertytype.Text + " " + tb.Text + " {<br />");
                
if(cbl.Items[0].Selected)
                    sb2.Append(
"get { return _" + tb.Text + "; }<br />");
                
if(cbl.Items[1].Selected)
                    sb2.Append(
"set { _" + tb.Text + " = value; }<br />");
                sb2.Append(
"}<br />");
                 sb3.Append(propertytype.Text 
+ " " + tb.Text + ",");
                 
//注意,这里最后会多出来一个逗号,要去掉它
                 sb4.Append("this._" + tb.Text + " = " + tb.Text + ";<br />");
            }

        }

        
//去掉最后一个逗号
        sb3.Replace(",","",(sb3.Length - 1), 1);
        sb.Append(sb1.ToString());
        sb.Append(sb3.ToString());
        sb.Append(
") {<br />");
        sb.Append(sb4.ToString());
        sb.Append(
"}<br />");
        sb.Append(sb2.ToString());
        sb.Append(
"}<br />}<br />");
        code.Text 
= sb.ToString();
    }

}

posted on 2006-03-30 00:06  沙加  阅读(786)  评论(0编辑  收藏  举报

导航