📄 builderweb.cs
字号:
using System;
using System.Collections.Generic;
using System.Text;
using LTP.IDBO;
using LTP.Utility;
using LTP.CodeHelper;
namespace LTP.BuilderWeb
{
/// <summary>
/// Web层代码组件
/// </summary>
public class BuilderWeb
{
#region 私有字段
protected string _key = "ID";//默认第一个主键字段
protected string _keyType = "int";//默认第一个主键类型
protected string _namespace = "Maticsoft"; //顶级命名空间名
private string _folder="";//所在文件夹
protected string _modelname; //model类名
protected string _bllname; //model类名
protected List<ColumnInfo> _fieldlist;
protected List<ColumnInfo> _keys;
#endregion
#region 公有属性
/// <summary>
/// 顶级命名空间名
/// </summary>
public string NameSpace
{
set { _namespace = value; }
get { return _namespace; }
}
/// <summary>
/// 所在文件夹名
/// </summary>
public string Folder
{
set { _folder = value; }
get { return _folder; }
}
/// <summary>
/// Model类名
/// </summary>
public string ModelName
{
set { _modelname = value; }
get { return _modelname; }
}
/// <summary>
/// BLL类名
/// </summary>
public string BLLName
{
set { _bllname = value; }
get { return _bllname; }
}
/// <summary>
/// 实体类的整个命名空间+类名
/// </summary>
public string ModelSpace
{
get
{
string _modelspace = _namespace + "." + "Model";
if (_folder.Trim() != "")
{
_modelspace += "." + _folder;
}
_modelspace += "." + ModelName;
return _modelspace;
}
}
/// <summary>
/// 业务逻辑层的操作类名称定义
/// </summary>
private string BLLSpace
{
get
{
string _bllspace = _namespace + "." + "BLL";
if (_folder.Trim() != "")
{
_bllspace += "." + _folder;
}
_bllspace += "." + BLLName;
return _bllspace;
}
}
/// <summary>
/// 选择的字段集合
/// </summary>
public List<ColumnInfo> Fieldlist
{
set { _fieldlist = value; }
get { return _fieldlist; }
}
/// <summary>
/// 主键或条件字段列表
/// </summary>
public List<ColumnInfo> Keys
{
set { _keys = value; }
get { return _keys; }
}
/// <summary>
/// 主键标识字段
/// </summary>
protected string Key
{
get
{
foreach (ColumnInfo key in _keys)
{
_key = key.ColumnName;
_keyType = key.TypeName;
if (key.IsIdentity)
{
_key = key.ColumnName;
_keyType = CodeCommon.DbTypeToCS(key.TypeName);
break;
}
}
return _key;
}
}
#endregion
public BuilderWeb()
{
}
#region Aspx页面html
/// <summary>
/// 得到表示层增加窗体的html代码
/// </summary>
public string GetAddAspx()
{
StringPlus strclass = new StringPlus();
strclass.AppendLine();
strclass.AppendLine("<table cellSpacing=\"0\" cellPadding=\"0\" width=\"100%\" border=\"0\">");
foreach (ColumnInfo field in Fieldlist)
{
string columnName = field.ColumnName;
string columnType = field.TypeName;
string deText = field.DeText;
bool ispk = field.IsPK;
bool IsIdentity = field.IsIdentity;
if ((ispk) || (IsIdentity))
{
continue;
}
if (deText.Trim() == "")
{
deText = columnName;
}
strclass.AppendSpaceLine(1, "<tr>");
strclass.AppendSpaceLine(1, "<td height=\"25\" width=\"30%\" align=\"right\">");
strclass.AppendSpaceLine(2, deText);
strclass.AppendSpaceLine(1, "</td>");
strclass.AppendSpaceLine(1, "<td height=\"25\" width=\"*\" align=\"left\">");
switch (columnType.Trim().ToLower())
{
case "datetime":
case "smalldatetime":
strclass.AppendSpaceLine(2, "<INPUT onselectstart=\"return false;\" onkeypress=\"return false\" id=\"txt" + columnName + "\" onfocus=\"setday(this)\"");
strclass.AppendSpaceLine(2, " readOnly type=\"text\" size=\"10\" name=\"Text1\" runat=\"server\">");
break;
case "bit":
strclass.AppendSpaceLine(2, "<asp:CheckBox ID=\"chk" + columnName + "\" Text=\"" + deText + "\" runat=\"server\" Checked=\"False\" />");
break;
default:
strclass.AppendSpaceLine(2, "<asp:TextBox id=\"txt" + columnName + "\" runat=\"server\" Width=\"200px\"></asp:TextBox>");
break;
}
strclass.AppendSpaceLine(1, "</td></tr>");
}
//按钮
strclass.AppendSpaceLine(1, "<tr>");
strclass.AppendSpaceLine(1, "<td height=\"25\" colspan=\"2\"><div align=\"center\">");
strclass.AppendSpaceLine(2, "<asp:Button ID=\"btnAdd\" runat=\"server\" Text=\"· 提交 ·\" OnClick=\"btnAdd_Click\" ></asp:Button>");
strclass.AppendSpaceLine(2, "<asp:Button ID=\"btnCancel\" runat=\"server\" Text=\"· 重填 ·\" OnClick=\"btnCancel_Click\" ></asp:Button>");
strclass.AppendSpaceLine(1, "</div></td></tr>");
strclass.AppendLine("</table>");
return strclass.ToString();
}
/// <summary>
/// 得到表示层增加窗体的html代码
/// </summary>
public string GetUpdateAspx()
{
StringPlus strclass = new StringPlus();
strclass.AppendLine("");
strclass.AppendLine("<table cellSpacing=\"0\" cellPadding=\"0\" width=\"100%\" border=\"0\">");
foreach (ColumnInfo field in Fieldlist)
{
string columnName = field.ColumnName;
string columnType = field.TypeName;
string deText = field.DeText;
bool ispk = field.IsPK;
bool IsIdentity = field.IsIdentity;
if (deText.Trim() == "")
{
deText = columnName;
}
if ((ispk) || (IsIdentity))
{
strclass.AppendSpaceLine(1, "<tr>");
strclass.AppendSpaceLine(1, "<td height=\"25\" width=\"30%\" align=\"right\">");
strclass.AppendSpaceLine(2, deText);
strclass.AppendSpaceLine(1, "</td>");
strclass.AppendSpaceLine(1, "<td height=\"25\" width=\"*\" align=\"left\">");
strclass.AppendSpaceLine(2, "<asp:label id=\"lbl" + columnName + "\" runat=\"server\"></asp:label>");
strclass.AppendSpaceLine(1, "</td></tr>");
}
else
{
//
strclass.AppendSpaceLine(1, "<tr>");
strclass.AppendSpaceLine(1, "<td height=\"25\" width=\"30%\" align=\"right\">");
strclass.AppendSpaceLine(2, deText);
strclass.AppendSpaceLine(1, "</td>");
strclass.AppendSpaceLine(1, "<td height=\"25\" width=\"*\" align=\"left\">");
switch (columnType.Trim())
{
case "datetime":
case "smalldatetime":
strclass.AppendSpaceLine(2, "<INPUT onselectstart=\"return false;\" onkeypress=\"return false\" id=\"txt" + columnName + "\" onfocus=\"setday(this)\"");
strclass.AppendSpaceLine(2, " readOnly type=\"text\" size=\"10\" name=\"Text1\" runat=\"server\">");
break;
case "bit":
strclass.AppendSpaceLine(2, "<asp:CheckBox ID=\"chk" + columnName + "\" Text=\"" + deText + "\" runat=\"server\" Checked=\"False\" />");
break;
default:
strclass.AppendSpaceLine(2, "<asp:TextBox id=\"txt" + columnName + "\" runat=\"server\" Width=\"200px\"></asp:TextBox>");
break;
}
strclass.AppendSpaceLine(1, "</td></tr>");
}
}
//按钮
strclass.AppendSpaceLine(1, "<tr>");
strclass.AppendSpaceLine(1, "<td height=\"25\" colspan=\"2\"><div align=\"center\">");
strclass.AppendSpaceLine(2, "<asp:Button ID=\"btnAdd\" runat=\"server\" Text=\"· 提交 ·\" OnClick=\"btnAdd_Click\" ></asp:Button>");
strclass.AppendSpaceLine(2, "<asp:Button ID=\"btnCancel\" runat=\"server\" Text=\"· 取消 ·\" OnClick=\"btnCancel_Click\" ></asp:Button>");
strclass.AppendSpaceLine(1, "</div></td></tr>");
strclass.AppendLine("</table>");
return strclass.Value;
}
/// <summary>
/// 得到表示层显示窗体的html代码
/// </summary>
public string GetShowAspx()
{
StringPlus strclass = new StringPlus();
strclass.AppendLine();
strclass.AppendLine("<table cellSpacing=\"0\" cellPadding=\"0\" width=\"100%\" border=\"0\">" );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -