chore: 首次簽入 Thinkyu ASP.NET 專案

- 加入 Visual Studio / ASP.NET .gitignore
- 排除建置輸出、IDE 設定、NuGet packages、大型 MSI 安裝檔
This commit is contained in:
2026-09-10 09:42:37 +08:00
commit 577060bc78
2496 changed files with 501389 additions and 0 deletions
@@ -0,0 +1,27 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/PopupForm3.Master" AutoEventWireup="true" CodeBehind="FileTooLarge.aspx.cs" Inherits="Education.Forms.Common.FileTooLarge" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<style type="text/css">
li {
font-size: 12pt;
}
li span {
color: red;
font-weight:bold;
}
</style>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<div style="margin-top: 30px; margin-left: 30px">
<div style="float: left; height: 128px;">
<img src="../../picture/bomb.png" />
</div>
<div style="float: left; height: auto; margin-left: 10px">
<h2>上傳的檔案太大了</h2>
<ul>
<li>上傳的檔案大小請勿超過&nbsp;<asp:Label ID="lbFileLimit" runat="server" Text=""></asp:Label>&nbsp;kB
</li>
</ul>
</div>
</div>
</asp:Content>
@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using System.Web.Configuration;
using WebLib;
namespace Education.Forms.Common
{
public partial class FileTooLarge : FormBase
{
protected void Page_Load(object sender, EventArgs e)
{
HttpRuntimeSection section = (HttpRuntimeSection)ConfigurationManager.GetSection("system.web/httpRuntime");
lbFileLimit.Text = section.MaxRequestLength.ToString();
}
}
}
@@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.Common
{
public partial class FileTooLarge
{
/// <summary>
/// lbFileLimit 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbFileLimit;
}
}
@@ -0,0 +1,214 @@
using CrystalDecisions.Shared;
using Newtonsoft.Json.Linq;
using NPOI.SS.Formula.Functions;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System;
using WebLib;
namespace Education
{
public class ReportBase
{
protected XSSFWorkbook workbook;
protected ISheet sheet;
protected WebLib.Excel excel;
protected IFont headerFont;
protected IFont footerFont;
protected IFont titleFont;
protected IFont titleFontBoldUnderLine;
protected IFont bodyFont;
protected ICellStyle headerStyle;
protected ICellStyle footerStyle;
protected ICellStyle titleStyleLeft;
protected ICellStyle titleStyleRight;
protected ICellStyle titleStyleCenter;
protected ICellStyle titleStyleCenterBottom;
protected ICellStyle titleStyleLeftNoBorder;
protected ICellStyle titleStyleRightNoBorder;
protected ICellStyle titleStyleCenterNoBorder;
protected ICellStyle titleStyleCenterBottomNoBorder;
protected ICellStyle titleStyleCenterUDBorder;
protected ICellStyle bodyStyleLeft;
protected ICellStyle bodyStyleRight;
protected ICellStyle bodyStyleCenter;
protected ICellStyle bodyNumberStyle;
protected ICellStyle bodyNumberStyleNoBorder;
protected ICellStyle bodyNumberStyleUDBorder;
protected ICellStyle bodyNumberStyle2;
protected ICellStyle bodyPercentStyle;
protected int HeaderRowHeight = 24;
protected int BodyRowHeight = 18;
public ReportBase()
{
Init();
}
protected virtual void Init()
{
workbook = new XSSFWorkbook();
sheet = workbook.CreateSheet("報表");
sheet.ForceFormulaRecalculation = true;
excel = new WebLib.Excel();
excel.WorkBook = workbook;
excel.Sheet = sheet;
headerFont = excel.NewFont("標楷體", 16, true);
footerFont = excel.NewFont("標楷體", 16);
titleFont = excel.NewFont("標楷體", 16, true);
titleFontBoldUnderLine = excel.NewFont("標楷體", 12, true);
titleFontBoldUnderLine.Underline = FontUnderlineType.Single;
bodyFont = excel.NewFont("標楷體", 12);
headerStyle = excel.NewCellStyle(headerFont, HorizontalAlignment.Center, VerticalAlignment.Center, true);
footerStyle = excel.NewCellStyle(footerFont, HorizontalAlignment.Left, VerticalAlignment.Center, true);
titleStyleLeft = excel.NewCellStyle(titleFont, HorizontalAlignment.Left, VerticalAlignment.Center, true);
/*
titleStyleLeft.BorderTop = BorderStyle.Thin;
titleStyleLeft.BorderBottom = BorderStyle.Thin;
titleStyleLeft.BorderLeft = BorderStyle.Thin;
titleStyleLeft.BorderRight = BorderStyle.Thin;
*/
titleStyleRight = excel.NewCellStyle(titleFont, HorizontalAlignment.Right, VerticalAlignment.Center, true);
/*
titleStyleRight.BorderTop = BorderStyle.Thin;
titleStyleRight.BorderBottom = BorderStyle.Thin;
titleStyleRight.BorderLeft = BorderStyle.Thin;
titleStyleRight.BorderRight = BorderStyle.Thin;
*/
titleStyleCenter = excel.NewCellStyle(titleFont, HorizontalAlignment.Center, VerticalAlignment.Center, true);
/*
titleStyleCenter.BorderTop = BorderStyle.Thin;
titleStyleCenter.BorderBottom = BorderStyle.Thin;
titleStyleCenter.BorderLeft = BorderStyle.Thin;
titleStyleCenter.BorderRight = BorderStyle.Thin;
*/
titleStyleCenterBottom = excel.NewCellStyle(titleFont, HorizontalAlignment.Center, VerticalAlignment.Bottom, true);
/*
titleStyleCenterBottom.BorderTop = BorderStyle.Thin;
titleStyleCenterBottom.BorderBottom = BorderStyle.Thin;
titleStyleCenterBottom.BorderLeft = BorderStyle.Thin;
titleStyleCenterBottom.BorderRight = BorderStyle.Thin;
*/
titleStyleLeftNoBorder = excel.NewCellStyle(titleFont, HorizontalAlignment.Left, VerticalAlignment.Center, true);
titleStyleRightNoBorder = excel.NewCellStyle(titleFont, HorizontalAlignment.Right, VerticalAlignment.Center, true);
titleStyleCenterNoBorder = excel.NewCellStyle(titleFont, HorizontalAlignment.Center, VerticalAlignment.Center, true);
titleStyleCenterBottomNoBorder = excel.NewCellStyle(titleFont, HorizontalAlignment.Center, VerticalAlignment.Bottom, true);
titleStyleCenterUDBorder = excel.NewCellStyle(titleFont, HorizontalAlignment.Center, VerticalAlignment.Center, true);
titleStyleCenterUDBorder.BorderTop = BorderStyle.Thin;
titleStyleCenterUDBorder.BorderBottom = BorderStyle.Thin;
bodyStyleLeft = excel.NewCellStyle(bodyFont, HorizontalAlignment.Left, VerticalAlignment.Center, true);
bodyStyleLeft.BorderTop = BorderStyle.Thin;
bodyStyleLeft.BorderBottom = BorderStyle.Thin;
bodyStyleLeft.BorderLeft = BorderStyle.Thin;
bodyStyleLeft.BorderRight = BorderStyle.Thin;
bodyStyleRight = excel.NewCellStyle(bodyFont, HorizontalAlignment.Right, VerticalAlignment.Center, true);
bodyStyleRight.BorderTop = BorderStyle.Thin;
bodyStyleRight.BorderBottom = BorderStyle.Thin;
bodyStyleRight.BorderLeft = BorderStyle.Thin;
bodyStyleRight.BorderRight = BorderStyle.Thin;
bodyStyleCenter = excel.NewCellStyle(bodyFont, HorizontalAlignment.Center, VerticalAlignment.Center, true);
bodyStyleCenter.BorderTop = BorderStyle.Thin;
bodyStyleCenter.BorderBottom = BorderStyle.Thin;
bodyStyleCenter.BorderLeft = BorderStyle.Thin;
bodyStyleCenter.BorderRight = BorderStyle.Thin;
IDataFormat numberFormat = workbook.CreateDataFormat();
bodyNumberStyle = excel.NewCellStyle(bodyFont, HorizontalAlignment.Right, VerticalAlignment.Center, true);
bodyNumberStyle.DataFormat = numberFormat.GetFormat("###,###,##0");
bodyNumberStyle.BorderTop = BorderStyle.Thin;
bodyNumberStyle.BorderBottom = BorderStyle.Thin;
bodyNumberStyle.BorderLeft = BorderStyle.Thin;
bodyNumberStyle.BorderRight = BorderStyle.Thin;
bodyNumberStyle2 = excel.NewCellStyle(bodyFont, HorizontalAlignment.Right, VerticalAlignment.Center, true);
bodyNumberStyle2.DataFormat = numberFormat.GetFormat("###,###,##0.00");
bodyNumberStyle2.BorderTop = BorderStyle.Thin;
bodyNumberStyle2.BorderBottom = BorderStyle.Thin;
bodyNumberStyle2.BorderLeft = BorderStyle.Thin;
bodyNumberStyle2.BorderRight = BorderStyle.Thin;
bodyPercentStyle = excel.NewCellStyle(bodyFont, HorizontalAlignment.Right, VerticalAlignment.Center, true);
bodyPercentStyle.DataFormat = numberFormat.GetFormat("##0.00");
bodyPercentStyle.BorderTop = BorderStyle.Thin;
bodyPercentStyle.BorderBottom = BorderStyle.Thin;
bodyPercentStyle.BorderLeft = BorderStyle.Thin;
bodyPercentStyle.BorderRight = BorderStyle.Thin;
bodyNumberStyleNoBorder = excel.NewCellStyle(bodyFont, HorizontalAlignment.Right, VerticalAlignment.Center, true);
bodyNumberStyleNoBorder.DataFormat = numberFormat.GetFormat("###,###,##0");
bodyNumberStyleUDBorder = excel.NewCellStyle(bodyFont, HorizontalAlignment.Right, VerticalAlignment.Center, true);
bodyNumberStyleUDBorder.DataFormat = numberFormat.GetFormat("###,###,##0");
bodyNumberStyleUDBorder.BorderTop = BorderStyle.Thin;
bodyNumberStyleUDBorder.BorderBottom = BorderStyle.Thin;
}
protected void SetPaperAndMargin(ISheet Asheet)
{
// 設定紙張
Asheet.PrintSetup.PaperSize = 9; // A4
Asheet.PrintSetup.Landscape = false; // 直向
// 列印格式
Asheet.PrintSetup.UsePage = true;
Asheet.PrintSetup.FitWidth = 1; // 將所有欄擠進 1 頁寬
Asheet.PrintSetup.FitHeight = 0; // 0 表示不指定幾頁
Asheet.HorizontallyCenter = true; // 水平置中
// 頁首頁尾
Asheet.Footer.Left = "列印日期:&D";
Asheet.Footer.Right = "頁數:&P";
// 紙張邊界
Asheet.PrintSetup.HeaderMargin = 0d;
Asheet.PrintSetup.FooterMargin = 0.3d;
Asheet.SetMargin(MarginType.TopMargin, 0.5d);
Asheet.SetMargin(MarginType.BottomMargin, 0.5d);
Asheet.SetMargin(MarginType.LeftMargin, 0.3d);
Asheet.SetMargin(MarginType.RightMargin, 0.3d);
}
protected void SetDataValue(int row, int col, ExportColumn column, object value, ICellStyle cellStyle)
{
if (column.MoneyFormat)
{
if (column.MondyDigits == 0)
excel.SetCellValue(row, col, DAC.GetDouble(value), bodyNumberStyle);
else
excel.SetCellValue(row, col, DAC.GetDouble(value), bodyNumberStyle2);
}
else if (!string.IsNullOrEmpty(column.Format))
{
excel.SetCellValue(row, col, String.Format(column.Format, value), cellStyle);
}
else
{
excel.SetCellValue(row, col, DAC.GetString(value), cellStyle);
}
}
}
public class ExportColumn
{
public string Key { get; set; }
public string Title { get; set; }
public int Width { get; set; }
public string FieldName { get; set; }
public string Format { get; set; } = string.Empty;
public bool MoneyFormat { get; set; } = false;
public int MondyDigits { get; set; } = 0;
public HorizontalAlignment Align { get; set; } = HorizontalAlignment.Left;
public string Comment { get; set; }
}
}
@@ -0,0 +1,6 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/PopupForm2.Master" AutoEventWireup="true" CodeBehind="ShowContent.aspx.cs" Inherits="Education.Forms.辦訓前置作業.ShowContent" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:Label ID="Label1" runat="server"></asp:Label>
</asp:Content>
@@ -0,0 +1,38 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebLib;
namespace Education.Forms.
{
public partial class ShowContent : FormBase
{
protected void Page_Load(object sender, EventArgs e)
{
switch (Request["type"])
{
case "CourseChange":
DAC_訓練課程異動通知 Dao異動通知 = new DAC_訓練課程異動通知(conn);
int id = DAC.GetInt32(Request["id"]);
int item = DAC.GetInt32(Request["item"]);
List d1 = Dao異動通知.SelectOne(id, item);
if (d1.Count > 0)
Label1.Text = d1[0]..Replace("\r\n", "<br>").Replace("\r", "<br>").Replace("\n", "<br>");
break;
case "OnlineCourse":
id = DAC.GetInt32(Request["id"]);
DAC_數位課程 Dao數位課程 = new DAC_數位課程(conn);
List d2 = Dao數位課程.SelectOne(id);
if (d2.Count > 0)
Label1.Text = d2[0]..Replace("\r\n", "<br>").Replace("\r", "<br>").Replace("\n", "<br>");
break;
}
}
}
}
@@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.
{
public partial class ShowContent
{
/// <summary>
/// Label1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label1;
}
}
@@ -0,0 +1,14 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/PopupForm2.Master" AutoEventWireup="true" CodeBehind="ShowLargePicture.aspx.cs" Inherits="Education.Forms.Common.ShowLargePicture" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<div style="margin: auto; text-align: center; vertical-align: middle;">
<asp:Image ID="Image1" runat="server" />
</div>
<script type="text/javascript">
window.onload = function () {
window.resizeTo(screen.width, screen.height);
};
</script>
</asp:Content>
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Education.Forms.Common
{
public partial class ShowLargePicture : FormBase
{
protected void Page_Load(object sender, EventArgs e)
{
Image1.ImageUrl = Request["pic"] + "?now=" + DateTime.UtcNow.AddHours(8).Ticks.ToString();
}
}
}
@@ -0,0 +1,26 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.Common
{
public partial class ShowLargePicture
{
/// <summary>
/// Image1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Image Image1;
}
}
@@ -0,0 +1,23 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ShowLargePicture1.aspx.cs"
Inherits="Education.Forms.基本資料.ShowLargePicture1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>大圖檢視</title>
</head>
<body>
<form id="form1" runat="server">
<div style="margin: auto; text-align: center; vertical-align: middle;">
<asp:Image ID="Image1" runat="server" />
</div>
</form>
<script type="text/javascript">
window.onload = function () {
window.resizeTo(screen.width, screen.height);
};
</script>
</body>
</html>
@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace Education.Forms.
{
public partial class ShowLargePicture1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Image1.ImageUrl = Request["pic"] + "?now=" + DateTime.UtcNow.AddHours(8).Ticks.ToString();
}
}
}
@@ -0,0 +1,35 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.
{
public partial class ShowLargePicture1
{
/// <summary>
/// form1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// Image1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Image Image1;
}
}
@@ -0,0 +1,17 @@
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Test.aspx.cs" Inherits="Education.Forms.Common.Test" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button runat="server" OnClick="btnSendMailTest_Click" ID="btnSendMailTest" Text="發送郵件測試" />
</div>
</form>
</body>
</html>
@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Mail;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebLib;
namespace Education.Forms.Common
{
public partial class Test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSendMailTest_Click(object sender, EventArgs e)
{
MailMessage mm = new MailMessage();
mm.Subject = "郵件發送測試";
mm.To.Add(new MailAddress("neo.sryang@gmail.com"));
mm.BodyEncoding = Encoding.UTF8;
mm.IsBodyHtml = true;
mm.Body = @"郵件發送測試";
MailService.Send(mm, "郵件發送測試");
}
}
}
@@ -0,0 +1,35 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.Common
{
public partial class Test
{
/// <summary>
/// form1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlForm form1;
/// <summary>
/// btnSendMailTest 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Button btnSendMailTest;
}
}
@@ -0,0 +1,86 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="訓練企劃搜尋.ascx.cs" Inherits="Education.Forms.Common.訓練企劃搜尋" %>
<%@ Register Assembly="WebLib" Namespace="WebLib" TagPrefix="weblib" %>
<asp:ObjectDataSource ID="ds未上課" runat="server" OldValuesParameterFormatString="original_{0}"
SelectMethod="Select未上課" TypeName="Education.DAC_訓練課程企劃"
OnObjectCreating="ds_ObjectCreating">
<SelectParameters>
<asp:SessionParameter Name="公司別" SessionField="CompanyId" Type="String" />
<asp:ControlParameter ControlID="txtYear" Name="年" PropertyName="Text"
Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds已截止未上課" runat="server" OldValuesParameterFormatString="original_{0}"
SelectMethod="Select已截止未上課" TypeName="Education.DAC_訓練課程企劃"
OnObjectCreating="ds_ObjectCreating">
<SelectParameters>
<asp:SessionParameter Name="公司別" SessionField="CompanyId" Type="String" />
<asp:ControlParameter ControlID="txtYear" Name="年" PropertyName="Text"
Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds已上課未結案" runat="server" OldValuesParameterFormatString="original_{0}"
SelectMethod="Select已上課未結案" TypeName="Education.DAC_訓練課程企劃"
OnObjectCreating="ds_ObjectCreating">
<SelectParameters>
<asp:SessionParameter Name="公司別" SessionField="CompanyId" Type="String" />
<asp:ControlParameter ControlID="txtYear" Name="年" PropertyName="Text"
Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds已上課" runat="server" OldValuesParameterFormatString="original_{0}"
SelectMethod="Select已上課" TypeName="Education.DAC_訓練課程企劃"
OnObjectCreating="ds_ObjectCreating">
<SelectParameters>
<asp:SessionParameter Name="公司別" SessionField="CompanyId" Type="String" />
<asp:ControlParameter ControlID="txtYear" Name="年" PropertyName="Text"
Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds已結案" runat="server" OldValuesParameterFormatString="original_{0}"
SelectMethod="Select已結案" TypeName="Education.DAC_訓練課程企劃"
OnObjectCreating="ds_ObjectCreating">
<SelectParameters>
<asp:SessionParameter Name="公司別" SessionField="CompanyId" Type="String" />
<asp:ControlParameter ControlID="txtYear" Name="年" PropertyName="Text"
Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds已簽核未結案" runat="server" OldValuesParameterFormatString="original_{0}"
SelectMethod="Select已簽核未結案" TypeName="Education.DAC_訓練課程企劃"
OnObjectCreating="ds_ObjectCreating">
<SelectParameters>
<asp:SessionParameter Name="公司別" SessionField="CompanyId" Type="String" />
<asp:ControlParameter ControlID="txtYear" Name="年" PropertyName="Text"
Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="ds全部" runat="server" OldValuesParameterFormatString="original_{0}"
SelectMethod="Select全部" TypeName="Education.DAC_訓練課程企劃"
OnObjectCreating="ds_ObjectCreating">
<SelectParameters>
<asp:SessionParameter Name="公司別" SessionField="CompanyId" Type="String" />
<asp:ControlParameter ControlID="txtYear" Name="年" PropertyName="Text"
Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<div style="line-height: 2em">
<div style="float: left; margin-right: 5px">
年度
<asp:TextBox ID="txtYear" runat="server" MaxLength="4" Columns="4"></asp:TextBox>
<asp:LinkButton ID="btnYearSearch" runat="server" CssClass="button blue120"
OnClick="btnYearSearch_Click">查詢年度課程</asp:LinkButton>
</div>
<div style="float: left; margin-right: 5px">
課程企劃
<weblib:WDropDownList ID="ddl課程企劃" runat="server" DataTextField="Name"
DataValueField="Value" style="max-width: 50em">
</weblib:WDropDownList>
<asp:LinkButton ID="btnOK" runat="server" CssClass="button blue120"
OnClick="btnOK_Click">查詢</asp:LinkButton>
</div>
<div style="float: left">
</div>
<div style="clear:both">
<asp:Label ID="lbHint" runat="server" Text="" ForeColor="Red" Font-Size="10pt"></asp:Label>
</div>
</div>
@@ -0,0 +1,148 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using WebLib;
namespace Education.Forms.Common
{
[DefaultProperty("訓練企劃編號")]
[DefaultEvent("Click")]
public partial class : UserControlBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (txtYear.Text == "")
{
txtYear.Text = DateTime.UtcNow.AddHours(8).Date.Year.ToString();
DoDataBind();
}
}
private void DoDataBind()
{
switch ()
{
case Enum.:
ddl課程企劃.DataSource = ds未上課;
lbHint.Text = "(還未上課的課程企劃)";
break;
case Enum.:
ddl課程企劃.DataSource = ds已截止未上課;
lbHint.Text = "(已截止報名,還未上課的課程企劃)";
break;
case Enum.:
ddl課程企劃.DataSource = ds已上課未結案;
lbHint.Text = "(已上課,還未結案的課程企劃)";
break;
case Enum.:
ddl課程企劃.DataSource = ds已上課;
lbHint.Text = "(已上課的課程企劃)";
break;
case Enum.:
ddl課程企劃.DataSource = ds已結案;
lbHint.Text = "(已結案的課程企劃)";
break;
case Enum.:
ddl課程企劃.DataSource = ds已簽核未結案;
lbHint.Text = "(已簽核未結案的課程企劃)";
break;
case Enum.:
ddl課程企劃.DataSource = ds全部;
lbHint.Text = "(全部課程企劃)";
break;
}
ddl課程企劃.DataBind();
}
protected void ds_ObjectCreating(object sender, ObjectDataSourceEventArgs e)
{
e.ObjectInstance = Dao訓練課程企劃;
}
[DefaultValue(企劃狀態Enum.已上課未結案)]
public Enum
{
get
{
if (ViewState["訓練企劃狀態"] == null)
return Enum.;
else
return (Enum)ViewState["訓練企劃狀態"];
}
set
{
ViewState["訓練企劃狀態"] = value;
}
}
public int
{
get
{
return DAC.GetInt32(ddl課程企劃.SelectedValue);
}
}
public string
{
get
{
if (ddl課程企劃.SelectedItem != null)
return ddl課程企劃.SelectedItem.Text;
else
return "";
}
}
public string SearchButtonText
{
get
{
return btnOK.Text;
}
set
{
btnOK.Text = value;
}
}
public Control SearchButton
{
get
{
return btnOK;
}
}
public event EventHandler Click;
protected void btnOK_Click(object sender, EventArgs e)
{
Click(this, new EventArgs());
}
protected void btnYearSearch_Click(object sender, EventArgs e)
{
DoDataBind();
}
}
public enum Enum
{
,
,
,
,
,
,
}
}
@@ -0,0 +1,125 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.Common
{
public partial class
{
/// <summary>
/// ds未上課 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds未上課;
/// <summary>
/// ds已截止未上課 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds已截止未上課;
/// <summary>
/// ds已上課未結案 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds已上課未結案;
/// <summary>
/// ds已上課 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds已上課;
/// <summary>
/// ds已結案 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds已結案;
/// <summary>
/// ds已簽核未結案 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds已簽核未結案;
/// <summary>
/// ds全部 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ds全部;
/// <summary>
/// txtYear 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.TextBox txtYear;
/// <summary>
/// btnYearSearch 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnYearSearch;
/// <summary>
/// ddl課程企劃 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::WebLib.WDropDownList ddl課程企劃;
/// <summary>
/// btnOK 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton btnOK;
/// <summary>
/// lbHint 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbHint;
}
}
@@ -0,0 +1,4 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="起訖日顯示.ascx.cs" Inherits="Education.Forms.Common.起訖日顯示" %>
<asp:Label ID="lb起日" runat="server" Text="起日"></asp:Label>
<asp:Label ID="lb至" runat="server" Text="至"></asp:Label>
<asp:Label ID="lb迄日" runat="server" Text="迄日"></asp:Label>
@@ -0,0 +1,71 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
namespace Education.Forms.Common
{
public partial class : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
[Bindable(true)]
public Object
{
get;
set;
}
[Bindable(true)]
public Object
{
get;
set;
}
[Bindable(true)]
[DefaultValue("yyyy-MM-dd")]
public string Format
{
get;
set;
}
public override void DataBind()
{
base.DataBind();
if (DesignMode)
return;
DateTime dt起日 = WebLib.DAC.GetDateTime();
DateTime dt迄日 = WebLib.DAC.GetDateTime();
if (dt起日.Ticks > 0)
{
lb起日.Text = dt起日.ToString(Format);
}
else
{
lb起日.Text = "";
}
if (dt迄日.Ticks > 0 && dt起日.CompareTo(dt迄日) != 0)
{
lb至.Text = "至";
lb迄日.Text = dt迄日.ToString(Format);
}
else
{
lb至.Text = "";
lb迄日.Text = "";
}
}
}
}
@@ -0,0 +1,44 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.Common
{
public partial class
{
/// <summary>
/// lb起日 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lb起日;
/// <summary>
/// lb至 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lb至;
/// <summary>
/// lb迄日 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lb迄日;
}
}
@@ -0,0 +1,41 @@
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="送簽.ascx.cs"
Inherits="Education.Forms.Common.送簽" %>
<%@ Register Assembly="WebLib" Namespace="WebLib" TagPrefix="weblib" %>
<table>
<tr>
<td class="captionCenter" colspan="3">
<asp:Label ID="Label18" runat="server" Text="送簽"></asp:Label>
</td>
<td class="captionCenter" colspan="3">
<asp:Label ID="Label20" runat="server" Text="撤簽"></asp:Label>
</td>
</tr>
<tr>
<td class="caption">
<asp:Label ID="Label19" runat="server" Text="簽核人員"></asp:Label>
</td>
<td>
<weblib:WDropDownList ID="DropDownList1" runat="server">
</weblib:WDropDownList>
</td>
<td>
<asp:LinkButton ID="LinkButton8" runat="server"
CssClass="button blue80">送簽</asp:LinkButton>
</td>
<td class="caption">
<asp:Label ID="Label21" runat="server" Text="撤簽簽核人員"></asp:Label>
</td>
<td>
<weblib:WDropDownList ID="DropDownList2" runat="server">
</weblib:WDropDownList>
</td>
<td>
<asp:LinkButton ID="LinkButton9" runat="server"
CssClass="button orange80">撤簽</asp:LinkButton>
</td>
</tr>
</table>
<asp:Label ID="lbSignMessage" runat="server"
CssClass="ErrorMessage" EnableViewState="False"></asp:Label>
@@ -0,0 +1,48 @@
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
namespace Education.Forms.Common
{
[DefaultBindingProperty("表單ID")]
public partial class : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
public int ID
{
get;
set;
}
public string
{
get;
set;
}
[Bindable(BindableSupport.Yes, BindingDirection.TwoWay)]
public string ID
{
get;
set;
}
public int
{
get;
set;
}
public override void DataBind()
{
base.DataBind();
}
}
}
@@ -0,0 +1,98 @@
//------------------------------------------------------------------------------
// <自動產生>
// 這段程式碼是由工具產生的。
//
// 變更這個檔案可能會導致不正確的行為,而且如果已重新產生
// 程式碼,則會遺失變更。
// </自動產生>
//------------------------------------------------------------------------------
namespace Education.Forms.Common
{
public partial class
{
/// <summary>
/// Label18 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label18;
/// <summary>
/// Label20 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label20;
/// <summary>
/// Label19 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label19;
/// <summary>
/// DropDownList1 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::WebLib.WDropDownList DropDownList1;
/// <summary>
/// LinkButton8 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton LinkButton8;
/// <summary>
/// Label21 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label Label21;
/// <summary>
/// DropDownList2 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::WebLib.WDropDownList DropDownList2;
/// <summary>
/// LinkButton9 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton LinkButton9;
/// <summary>
/// lbSignMessage 控制項。
/// </summary>
/// <remarks>
/// 自動產生的欄位。
/// 若要修改,請將欄位宣告從設計工具檔案移到程式碼後置檔案。
/// </remarks>
protected global::System.Web.UI.WebControls.Label lbSignMessage;
}
}