65.9K
CodeProject 正在变化。 阅读更多。
Home

ASP.NET 快速屏幕开发

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.37/5 (8投票s)

2004年7月21日

2分钟阅读

viewsIcon

39174

downloadIcon

391

快速生成ASPX页面

引言

为各种表格开发屏幕一直是一项乏味的任务。 这是朝着自动化生成 ASPX 页面屏幕迈出的一小步。

目前,此应用程序可以为 SQL Server 2000 表生成 ASPX 标签。

其思想是

a. 对于表中的每一列,屏幕上都需要一个标签字段。

b. 对于表中的一个普通列,屏幕上需要一个文本框

c. 如果该列不可为空,则需要在屏幕上放置一个必填字段验证器

d. 对于外键,通常需要一个下拉列表

d. 还需要设置 Tab 索引和最大长度属性。

要获取表的元数据,使用以下过程。 它获取列名、数据类型、是否可为空、大小以及是否为外键。


SELECT
COLUMN_NAME,
DATA_TYPE,
IS_NULLABLE,
isnull(CHARACTER_MAXIMUM_LENGTH,0),

-- Identifies if it is a foreign key-------
ISNULL((SELECT 'Y' FROM SYSFOREIGNKEYS WHERE FKEYID =ID AND FKEY=COLID),'N')
as 'IsForeignKey',
Ordinal_Position

FROM
SYSCOLUMNS,
(SELECT
COLUMN_NAME,
IS_NULLABLE,
DATA_TYPE,
CHARACTER_MAXIMUM_LENGTH,
Ordinal_Position

FROM
INFORMATION_SCHEMA.COLUMNS

WHERE
TABLE_NAME =@Table_Name) AS A

WHERE
ID
IN
(SELECT
ID
FROM
SYSOBJECTS
WHERE
TYPE='U'
AND NAME =@Table_Name
)

AND
A.COLUMN_NAME =NAME
Order By
Ordinal_Position.
现在,应用程序中有 4 个类。 Common.cs 包含所有公共属性。 用于控件的其他类继承自它。 ToString() 方法被重写,以生成控件所需的 ASPX 标签。
Steps to Generate the aspx code.

1. 在您的数据库中创建提供的存储过程。

2. 修改 Form1.cs 文件中的连接信息。 您必须修改连接信息的两个位置。 一个在 GetTables() 方法内部,另一个在 ProcessTable(string TableName) 内部。

3. 执行该项目。 在窗口中,组合框显示可用表的列表。 在文本框中输入表的名称,然后单击“生成”按钮。

4. 从下面的文本框中复制代码,并将其粘贴到 ASPX 页面内的 <form></form> 标签内。

5. 完成了.....

目前,这会为每一列生成一个标签,根据它是表列还是外键,生成文本框或组合框,为不可为空的字段生成必填字段验证器,设置 Tab 顺序和最大长度属性。

如果您有其他生成 ASPX 页面的方法,请告诉我。

© . All rights reserved.