字串的宣告
string 變數 = string.Empty;
string 變數 = "abcdefg";
Session內容的取出
string 變數 = (string)Session["名稱"];
網頁元件內容的取出
string 變數 = ((TextBox)網頁元件的ID).Text;
string 變數 = ((DropDownList)網頁元件的ID).SelectedItem.Value;
string 變數 = ((DropDownList)網頁元件的ID).SelectedItem.Text;
日期時間格式的使用
DateTime DateTime1 = DateTime.Parse("2011-05-16 07:30:00");
DateTime DateTime2 = DateTime.Parse("2011-05-16 08:00:00");
TimeSpan t1 = new TimeSpan(DateTime1.Ticks);
TimeSpan t2 = new TimeSpan(DateTime2.Ticks);
double ts = t2.Subtract(t1).TotalHours; //ts=0.5(小時)
string 變數 = string.Empty;
string 變數 = "abcdefg";
Session內容的取出
string 變數 = (string)Session["名稱"];
網頁元件內容的取出
string 變數 = ((TextBox)網頁元件的ID).Text;
string 變數 = ((DropDownList)網頁元件的ID).SelectedItem.Value;
string 變數 = ((DropDownList)網頁元件的ID).SelectedItem.Text;
日期時間格式的使用
DateTime DateTime1 = DateTime.Parse("2011-05-16 07:30:00");
DateTime DateTime2 = DateTime.Parse("2011-05-16 08:00:00");
TimeSpan t1 = new TimeSpan(DateTime1.Ticks);
TimeSpan t2 = new TimeSpan(DateTime2.Ticks);
double ts = t2.Subtract(t1).TotalHours; //ts=0.5(小時)
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class Form1 : System.Web.UI.Page { DBmssql db1 = new DBmssql(); string url = "Form1List.aspx"; string op = ""; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { txtAccount.Text = (string)Session["ec_userid"]; initProjectList(drpProject); initTimeList(); lblEditTag.Text = ""; lblCount.Text = ""; //增加opreation的tag,可以讓一個asp網頁處理兩種相似的功能,例如:新增and修改 op = (string)Request["op"]; if (op == "Edit") { initTable(); lblEditTag.Text = (string)Request["op"]; lblCount.Text = (string)Request["id"]; } } } public void initProjectList(object sender) { System.Data.DataTable dt1 = new System.Data.DataTable(); string drpValue = null; string drpText = null; ((DropDownList)sender).Items.Clear(); ((DropDownList)sender).Items.Add(new ListItem("(請選擇工程專案)", "")); dt1 = db1.GetDataTable("SELECT id,cname FROM 專案列表 ORDER BY id DESC"); for (int i = 0; i <= dt1.Rows.Count - 1; i++) { drpValue = dt1.Rows[i]["id"].ToString().Trim(); drpText = dt1.Rows[i]["cname"].ToString().Trim(); ((DropDownList)sender).Items.Add(new ListItem(drpText, drpValue)); } } public void initTimeList() { drpHourStart.Items.Clear(); drpHourEnd.Items.Clear(); drpMinuteStart.Items.Clear(); drpMinuteEnd.Items.Clear(); for (int i = 0; i <= 23; i++) { drpHourStart.Items.Add(string.Format("{0:00}", i)); drpHourEnd.Items.Add(string.Format("{0:00}", i)); } for (int i = 0; i <= 50; i=i+10) { drpMinuteStart.Items.Add(string.Format("{0:00}", i)); drpMinuteEnd.Items.Add(string.Format("{0:00}", i)); } } public void initTable() { string count = (string)Request["id"]; System.Data.DataTable dt1 = new System.Data.DataTable(); dt1 = db1.GetDataTable("SELECT * FROM 每日工時表 WHERE count = '" + count + "'"); if (dt1.Rows.Count == 1) { txtAccount.Text = dt1.Rows[0]["account"].ToString().Trim(); txtDate.Text = string.Format("{0:yyyy/MM/dd}", dt1.Rows[0]["WorkDate"]); string pid = dt1.Rows[0]["pid"].ToString().Trim(); for (int i = 0; i < ((DropDownList)drpProject).Items.Count; i++ ) { if (((DropDownList)drpProject).Items[i].Value == pid) ((DropDownList)drpProject).Items[i].Selected = true; } TimeSpan t1 = new TimeSpan((DateTime.Parse(dt1.Rows[0]["StartTime"].ToString())).Ticks); TimeSpan t2 = new TimeSpan((DateTime.Parse(dt1.Rows[0]["EndTime"].ToString())).Ticks); string value = ""; value = string.Format("{0:00}", t1.Hours); for (int i = 0; i < ((DropDownList)drpHourStart).Items.Count; i++) { if (((DropDownList)drpHourStart).Items[i].Text == value) ((DropDownList)drpHourStart).Items[i].Selected = true; } value = string.Format("{0:00}", t1.Minutes); for (int i = 0; i < ((DropDownList)drpMinuteStart).Items.Count; i++) { if (((DropDownList)drpMinuteStart).Items[i].Text == value) ((DropDownList)drpMinuteStart).Items[i].Selected = true; } value = string.Format("{0:00}", t2.Hours); for (int i = 0; i < ((DropDownList)drpHourEnd).Items.Count; i++) { if (((DropDownList)drpHourEnd).Items[i].Text == value) ((DropDownList)drpHourEnd).Items[i].Selected = true; } value = string.Format("{0:00}", t2.Minutes); for (int i = 0; i < ((DropDownList)drpMinuteEnd).Items.Count; i++) { if (((DropDownList)drpMinuteEnd).Items[i].Text == value) ((DropDownList)drpMinuteEnd).Items[i].Selected = true; } } } protected void Button1_Click(object sender, EventArgs e) { lt.Text = ""; string MsgStr = string.Empty; string account = ((TextBox)txtAccount).Text; if (account == "") MsgStr = MsgStr + "使用者帳號獲取失敗。"; string pid = ((DropDownList)drpProject).SelectedItem.Value; if (pid == "") MsgStr = MsgStr + "請選擇工程專案。"; string strDate = ((TextBox)txtDate).Text; string strTimeStart = drpHourStart.SelectedItem.Text + ":" + drpMinuteStart.SelectedItem.Text + ":00"; string strTimeEnd = drpHourEnd.SelectedItem.Text + ":" + drpMinuteEnd.SelectedItem.Text + ":00"; DateTime TimeStart = DateTime.Parse(strDate + " " + strTimeStart); DateTime TimeEnd = DateTime.Parse(strDate + " " + strTimeEnd); TimeSpan t1 = new TimeSpan(TimeStart.Ticks); TimeSpan t2 = new TimeSpan(TimeEnd.Ticks); TimeSpan tNow = new TimeSpan(DateTime.Now.Ticks); double ts = t2.Subtract(t1).TotalHours; double ta = tNow.Subtract(t2).TotalDays; if (ts <= 0) { MsgStr = MsgStr + "起迄時間錯誤。"; //lt.Text = t2.ToString() + "-" + t1.ToString() + "=" + ts.ToString(); } if (ta > 3) { MsgStr = MsgStr + "超過網路申報時間,請改用紙本申報。"; //lt.Text = tNow.ToString() + "-" + t2.ToString() + "=" + ta.ToString(); } if (MsgStr != string.Empty) { string sScript = string.Empty; sScript = "alert('" + MsgStr + "')"; this.ClientScript.RegisterStartupScript(this.GetType(), "error", sScript, true); return; } System.Data.DataTable dt1 = new System.Data.DataTable(); string sqlstr = ""; op = ((Label)lblEditTag).Text; string count = ((Label)lblCount).Text; try { //增加opreation的tag,可以讓一個asp網頁處理兩種相似的功能,例如:新增and修改 if (op == "") { sqlstr = " INSERT INTO 每日工時表(account, pid, WorkDate, StartTime, EndTime) "; sqlstr += " VALUES('" + account + "','" + pid + "','" + strDate + "','" + strTimeStart + "','" + strTimeEnd + "')"; db1.ExecuteCmd(sqlstr); lt.Text = "<script language=javascript>alert('新增成功。');location.href='" + url + "';</script>"; } if (op == "Edit") { sqlstr = " INSERT INTO 每日工時表(account, pid, WorkDate, StartTime, EndTime) "; sqlstr += " VALUES('" + account + "','" + pid + "','" + strDate + "','" + strTimeStart + "','" + strTimeEnd + "')"; sqlstr = " UPDATE 每日工時表 SET " ; sqlstr += " account='" + account + "'"; sqlstr += ",pid='" + pid + "'"; sqlstr += ",WorkDate='" + strDate + "'"; sqlstr += ",StartTime='" + strTimeStart + "'"; sqlstr += ",EndTime='" + strTimeEnd + "'"; sqlstr += " WHERE count='" + count + "'"; db1.ExecuteCmd(sqlstr); lt.Text = "<script language=javascript>alert('修改成功。');location.href='" + url + "';</script>"; } } catch (Exception ex) { lt.Text = "操作失敗。<BR>" + ex.Message.ToString() + "<BR>" + sqlstr; } } }
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class Form1List : System.Web.UI.Page { DBmssql db1 = new DBmssql(); protected void Page_Load(object sender, EventArgs e) { //避免網頁有submit的動作時,重複執行init的function,造成使用者選取or填寫的資料被reset。 if (!IsPostBack) { initList(); initSerachItem(); } } protected void Button2_Click(object sender, EventArgs e) { Response.Redirect("Form1.aspx"); //網頁重新導向 } public void initList() { if (drpType.SelectedItem.Value == "人員") { initMemberList(drpKeyWord); ((CheckBox)ckbTag).Enabled = false; } else { initProjectList(drpKeyWord); ((CheckBox)ckbTag).Enabled = true; } } public void initProjectList(object sender) { System.Data.DataTable dt1 = new System.Data.DataTable(); string drpValue = null; string drpText = null; ((DropDownList)sender).Items.Clear(); ((DropDownList)sender).Items.Add(new ListItem("(請選擇工程專案)", "")); dt1 = db1.GetDataTable("SELECT id,cname FROM 專案列表 ORDER BY id DESC"); for (int i = 0; i <= dt1.Rows.Count - 1; i++) { drpValue = dt1.Rows[i]["id"].ToString().Trim(); drpText = dt1.Rows[i]["cname"].ToString().Trim(); ((DropDownList)sender).Items.Add(new ListItem(drpText, drpValue)); } } public void initMemberList(object sender) { System.Data.DataTable dt1 = new System.Data.DataTable(); string drpValue = null; string drpText = null; ((DropDownList)sender).Items.Clear(); ((DropDownList)sender).Items.Add(new ListItem("(請選擇人員)", "")); dt1 = db1.GetDataTable("SELECT account,name FROM 人員 ORDER BY name"); for (int i = 0; i <= dt1.Rows.Count - 1; i++) { drpValue = dt1.Rows[i]["account"].ToString().Trim(); drpText = dt1.Rows[i]["name"].ToString().Trim(); ((DropDownList)sender).Items.Add(new ListItem(drpText, drpValue)); } } //使用程式碼指派SqlDataSource的SelectCommand,可以活用SQL WHERE語法 public void initSerachItem() { string account = (string)Session["ec_userid"]; string pid = ((DropDownList)drpKeyWord).SelectedItem.Value; string strSQL = string.Empty; Boolean tag = ((CheckBox)ckbTag).Checked; if (drpType.SelectedItem.Value == "人員") { if (((DropDownList)drpKeyWord).SelectedIndex != 0) account = ((DropDownList)drpKeyWord).SelectedItem.Value; strSQL = "SELECT [每日工時表].*, CONVERT(varchar(2), FLOOR(DATEDIFF(minute, StartTime, EndTime) / 60)) + ':' + CONVERT(varchar(2), DATEDIFF(minute, StartTime, EndTime) % 60) AS Diff FROM [每日工時表] WHERE ([account] = '" + account + "') ORDER BY [count] DESC"; } else { if (((DropDownList)drpKeyWord).SelectedIndex != 0) { if(tag) strSQL = "SELECT [每日工時表].*, CONVERT(varchar(2), FLOOR(DATEDIFF(minute, StartTime, EndTime) / 60)) + ':' + CONVERT(varchar(2), DATEDIFF(minute, StartTime, EndTime) % 60) AS Diff FROM [每日工時表] WHERE ([account]='" + account + "' AND [pid]='" + pid + "') ORDER BY [count] DESC"; else strSQL = "SELECT [每日工時表].*, CONVERT(varchar(2), FLOOR(DATEDIFF(minute, StartTime, EndTime) / 60)) + ':' + CONVERT(varchar(2), DATEDIFF(minute, StartTime, EndTime) % 60) AS Diff FROM [每日工時表] WHERE ([pid]='" + pid + "') ORDER BY [count] DESC"; } else { strSQL = "SELECT [每日工時表].*, CONVERT(varchar(2), FLOOR(DATEDIFF(minute, StartTime, EndTime) / 60)) + ':' + CONVERT(varchar(2), DATEDIFF(minute, StartTime, EndTime) % 60) AS Diff FROM [每日工時表] WHERE ([account] = '" + account + "') ORDER BY [count] DESC"; } } //在網頁onload的時候指定SqlDataSource的SelectCommand才是正確的時機 SqlDataSource1.SelectCommand = strSQL; } //在GridView資料繫結完成後,可以做格式的處理 protected void GridView1_DataBound(object sender, EventArgs e) { string pid = string.Empty; double t1 = 0; double t2 = 0; string strMsg = string.Empty; System.Data.DataTable dt1 = null; for (int i = 0; i < ((GridView)sender).Rows.Count; i++) { for (int j = 0; j < ((GridView)sender).Rows[i].Cells.Count; j++) { //巡覽所有Cells } pid = ((GridView)sender).Rows[i].Cells[3].Text; dt1 = db1.GetDataTable("SELECT cname FROM 專案列表 WHERE id='" + pid + "'"); ((GridView)sender).Rows[i].Cells[3].Text = dt1.Rows[0][0].ToString(); //日期時間的字串格式設定 ((GridView)sender).Rows[i].Cells[4].Text = string.Format("{0:yyyy/MM/dd}", DateTime.Parse(((GridView)sender).Rows[i].Cells[4].Text)); ((GridView)sender).Rows[i].Cells[5].Text = string.Format("{0:HH:mm}", DateTime.Parse(((GridView)sender).Rows[i].Cells[5].Text)); ((GridView)sender).Rows[i].Cells[6].Text = string.Format("{0:HH:mm}", DateTime.Parse(((GridView)sender).Rows[i].Cells[6].Text)); ((GridView)sender).Rows[i].Cells[7].Text = string.Format("{0:HH:mm}", DateTime.Parse(((GridView)sender).Rows[i].Cells[7].Text)); //加總工時欄位 double hours = double.Parse(string.Format("{0:HH}", DateTime.Parse(((GridView)sender).Rows[i].Cells[7].Text))) * 60; double minutes = double.Parse(string.Format("{0:mm}", DateTime.Parse(((GridView)sender).Rows[i].Cells[7].Text))); t1 = t2; t2 = hours + minutes; t2 = t1 + t2; } lblTotal.Text = "總合:" + Math.Floor(t2 / 60).ToString() + "小時" + (t2 % 60).ToString() + "分鐘"; lblItemEmpty.Text = ""; lblTotal.Visible = true; if (((GridView)sender).Rows.Count == 0) { lblItemEmpty.Text = "搜尋不到資料"; lblTotal.Visible = false; } } protected void ckbTag_CheckedChanged(object sender, EventArgs e) { initSerachItem(); } protected void drpKeyWord_SelectedIndexChanged(object sender, EventArgs e) { initSerachItem(); } protected void drpType_SelectedIndexChanged(object sender, EventArgs e) { initList(); } }
全站熱搜
留言列表