git init 建立初始化
echo 1 > file1.txt 建立一個內容為1的txt檔
git add file1.txt 新增這個檔案
git add . 新增全部檔案
git commit -m "C1" 建立名為C1的版本控制
git branch 可以查現在分支名稱
*master 星號為目前分支
git branch feature 新增一個名為feature的分支
git checkout feature 跳到feature 這個分支
git checkout -b feature 新增跟跳到feature 這個分支
git merge bug 假如你主分支有個BUG分支要合併 下這個指令bug分支就會合併主分支
git branch -d bug 如果要刪除分支下這個指令
復原合併前
git checkout master 回到主分支
git log --oneline 看主分支的版控有哪些查commit ID
git reset --hard [要復原的版控commit ID]
git reset --hard ORIG_HEAD 回到上一個版本
https://blog.csdn.net/xx326664162/article/details/50016483
Design
asp.net mvc
2016年6月25日 星期六
2016年6月12日 星期日
使用AngularJS結合ASP.NET MVC and Entity Framework 非常不錯的教學影片
標籤:
AngularJS
歡迎同好一起聊天進步
HI 如果有任何工作機會歡迎透過信箱聯繫我
Hi any jobs welcome to contact me by mail.Marstsaiforjob@gmail.com
resume:https://1drv.ms/w/s!AkEOmv5qDtVoc9Dj4uHhda310E4
2016年6月4日 星期六
Angular 結合Entity FramWork
標籤:
AngularJS
歡迎同好一起聊天進步
HI 如果有任何工作機會歡迎透過信箱聯繫我
Hi any jobs welcome to contact me by mail.Marstsaiforjob@gmail.com
resume:https://1drv.ms/w/s!AkEOmv5qDtVoc9Dj4uHhda310E4
2016年6月2日 星期四
MS SQL 利用Trigger紀錄Table異動資料
針對某些特定Table需要詳細記錄資料變更的歷史資訊,
可以利用Trigger及產生的inserted和deleted 臨時表格做紀錄!
作法可參考下列範例。
轉PO
--建立測試表格
CREATE TABLE [dbo].[WIPPrd](
[ProdNo] [varchar](16) NOT NULL,
[PnameD] [nvarchar](100) NULL,
[PType] [varchar](4) NULL,
[InDay] [datetime] NULL,
[UsrNo] [varchar](10) NULL,
[UsrCo] [varchar](5) NULL) ON [PRIMARY]
--建立記錄檔
CREATE TABLE [dbo].[WIPPrd_Log](
[MState] [varchar] (10) NOT NULL,
[ProdNo] [varchar](16) NOT NULL,
[PnameD] [nvarchar](100) NULL,
[PType] [varchar](4) NULL,
[InDay] [datetime] NULL,
[UsrNo] [varchar](10) NULL,
[UsrCo] [varchar](5) NULL )
--建立TRIGGER-在WIPPrd表格更新、新增、刪除後觸發
CREATE TRIGGER dbo.TR_WIPPrd_Modify on dbo.WIPPrd AFTER UPDATE,INSERT,DELETE
AS
BEGIN
--表格異動資料時會產生暫存的inserted和deleted兩個表格
--兩個表格格式資訊皆與原表格相同
--inserted紀錄insert資料、update後資料
--deleted紀錄delete資料、update前資料
--依據異動方式將異動資料新增到記錄檔
--inserted和deleted皆有資料表示為-UPDATE
IF EXISTS (select 1 from inserted) and EXISTS (select 1 from deleted)
BEGIN
insert into WIPPrd_Log select 'DELETE',* from deleted
insert into WIPPrd_Log select 'INSERT',* from inserted
END
--inserted有資料deleted無資料表示為-INSERT
ELSE IF EXISTS (select 1 from inserted) and Not EXISTS (select 1 from deleted)
insert into WIPPrd_Log select 'INSERT',* from inserted
--inserted無資料deleted有資料表示為-DELETE
ELSE IF NOT EXISTS (select 1 from inserted) and EXISTS (select 1 from deleted)
insert into WIPPrd_Log select 'DELETE',* from deleted
END
--測試
--清空資料
delete from WIPPrd
delete from WIPPrd_log
--新增資料
insert into WIPPrd values ('11','TEST_11','11',GETDATE(),'Dean','10001')
insert into WIPPrd values ('22','TEST_22','22',GETDATE(),'Dean','10001')
--更新資料
update WIPPrd set ProdNo='33',PnameD='TEST_33' where ProdNo='22'
--刪除資料
delete from WIPPrd
--查詢記錄檔
select * from WIPPrd_log
------------------------------------------------------------
INSERT 11 TEST_11 11 2012-02-26 14:17:47.750 Dean 10001
INSERT 22 TEST_22 22 2012-02-26 14:17:47.763 Dean 10001
DELETE 22 TEST_22 22 2012-02-26 14:17:47.763 Dean 10001
INSERT 33 TEST_33 22 2012-02-26 14:17:47.763 Dean 10001
DELETE 33 TEST_33 22 2012-02-26 14:17:47.763 Dean 10001
DELETE 11 TEST_11 11 2012-02-26 14:17:47.750 Dean 10001
標籤:
DB
歡迎同好一起聊天進步
HI 如果有任何工作機會歡迎透過信箱聯繫我
Hi any jobs welcome to contact me by mail.Marstsaiforjob@gmail.com
resume:https://1drv.ms/w/s!AkEOmv5qDtVoc9Dj4uHhda310E4
2016年5月23日 星期一
後端資料庫產生Dropdownlist asp.net mvc
public ViewResult Index()
{
//Create db context object here
AdventureWorksDbContext dbContext = new AdventureWorksDbContext();
//Get the value from database and then set it to ViewBag to pass it View
IEnumerable items = dbContext.Employees.Select(c => new SelectListItem
{
Value = c.JobTitle,
Text = c.JobTitle
});
ViewBag.JobTitle = items;
return View();
}
@Html.DropDownList("JobTitle", "Select a Value")
標籤:
DB
歡迎同好一起聊天進步
HI 如果有任何工作機會歡迎透過信箱聯繫我
Hi any jobs welcome to contact me by mail.Marstsaiforjob@gmail.com
resume:https://1drv.ms/w/s!AkEOmv5qDtVoc9Dj4uHhda310E4
2016年5月14日 星期六
ASP.NET MVC 從空白專案新增BundleConfig 實做
NuGet:
自行修改要的
Global.asax 新增這行
最後別忘了web.config 新增命名空間 不然你也不能用
Install-Package Microsoft.AspNet.Web.Optimization
建立App_Start\BundleConfig.cs:自行修改要的
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles) {
bundles.Add(new ScriptBundle("~/Scripts/jquery").Include(
"~/Scripts/Lib/jquery/jquery-{version}.js",
"~/Scripts/Lib/jquery/jquery.*",
"~/Scripts/Lib/jquery/jquery-ui-{version}.js")
);
bundles.Add(new ScriptBundle("~/Scripts/knockout").Include(
"~/Scripts/Lib/knockout/knockout-{version}.js",
"~/Scripts/Lib/knockout/knockout-deferred-updates.js")
);
}
}
Global.asax 新增這行
using System.Web.Optimization;
protected void Application_Start() {
...
BundleConfig.RegisterBundles(BundleTable.Bundles);
...
}
最後別忘了web.config 新增命名空間 不然你也不能用
<namespaces>
<add namespace="System.Web.Optimization"></add>
</namespaces>
讓我的開始Bundle吧
@Scripts.Render("~/Scripts/jquery")
@Scripts.Render("~/Scripts/bootstrap")
標籤:
ASP.NET MVC
歡迎同好一起聊天進步
HI 如果有任何工作機會歡迎透過信箱聯繫我
Hi any jobs welcome to contact me by mail.Marstsaiforjob@gmail.com
resume:https://1drv.ms/w/s!AkEOmv5qDtVoc9Dj4uHhda310E4
2016年4月25日 星期一
Entity Framework Code First 一對多關聯設定
http://blog.developer.idv.tw/2014/11/entity-framework-code-first_25.html
標籤:
Entity Framework
歡迎同好一起聊天進步
HI 如果有任何工作機會歡迎透過信箱聯繫我
Hi any jobs welcome to contact me by mail.Marstsaiforjob@gmail.com
resume:https://1drv.ms/w/s!AkEOmv5qDtVoc9Dj4uHhda310E4
2016年4月23日 星期六
純CSS二、三階層動態選單按鈕 (完美支援各版本瀏覽器)
HTML
<div id="menu">
<ul>
<li> <a href="#">Fruits</a>
<ul>
<li><a href="#">Apple</a></li>
<li><a href="#">Banana</a></li>
<li><a href="#">Cherry</a></li>
<li><a href="#">Orange</a></li>
</ul>
</li>
<li> <a href="#">Vegetables</a>
<ul>
<li><a href="#Broccoli">Broccoli</a></li>
<li><a href="#Cabbage">Cabbage</a></li>
<li><a href="#Peas">Peas</a></li>
<li><a href="#Onion">Onion</a></li>
</ul>
</li>
<li> <a href="#Meats">Meats</a>
<ul>
<li> <a href="#White_Meat">White Meat</a>
<ul>
<li><a href="#Chicken">Chicken</a></li>
<li><a href="#Duck">Duck</a></li>
<li><a href="#Fish">Fish</a></li>
</ul>
</li>
<li> <a href="#Red_Meat">Red Meat</a>
<ul>
<li><a href="#Beef">Beef</a></li>
<li><a href="#Pork">Pork</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
<div id="menu">
<ul>
<li> <a href="#">Fruits</a>
<ul>
<li><a href="#">Apple</a></li>
<li><a href="#">Banana</a></li>
<li><a href="#">Cherry</a></li>
<li><a href="#">Orange</a></li>
</ul>
</li>
<li> <a href="#">Vegetables</a>
<ul>
<li><a href="#Broccoli">Broccoli</a></li>
<li><a href="#Cabbage">Cabbage</a></li>
<li><a href="#Peas">Peas</a></li>
<li><a href="#Onion">Onion</a></li>
</ul>
</li>
<li> <a href="#Meats">Meats</a>
<ul>
<li> <a href="#White_Meat">White Meat</a>
<ul>
<li><a href="#Chicken">Chicken</a></li>
<li><a href="#Duck">Duck</a></li>
<li><a href="#Fish">Fish</a></li>
</ul>
</li>
<li> <a href="#Red_Meat">Red Meat</a>
<ul>
<li><a href="#Beef">Beef</a></li>
<li><a href="#Pork">Pork</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>
CSS
/* 加載csshover3.htc,解決IE6沒有li:hover擬類的問題 */
* html body {
behavior:url("csshover3.htc");
}
/* ---------- 大小與定位 ---------- */
#menu {
/* 選單大小 */
width:600px;
height:30px;
}
#menu ul {
/* 取消ul樣式符號 */
list-style-type:none;
/* 重設ul邊界與留白為零 */
margin:0;
padding:0;
/* 內有浮動元件時,需設overflow才會自動調整大小 */
overflow:auto;
}
* html #menu ul {
/* 解決IE6不理overflow問題,直接指定高度 */
height:30px;
}
#menu ul li {
/* 利用float讓第一層li水平排列 */
float:left;
}
/* 解決IE6條列式餘白問題*/
* html #menu ul li {
display:inline;
}
#menu ul li a {
/* 將a改為區塊元件,以便指定寬高 */
display:block;
/* 這邊也要設float,否則IE6會以100%寬度顯示 */
float:left;
/* 固定高度 */
height:30px;
width: 100px;
text-align: center;
}
#menu ul li ul {
/* 讓第二層ul跳脫文件流以利定位 */
position:absolute;
/* 固定寬度 */
width:100px;
/* 避免出現捲軸 */
overflow:visible;
/* 讓ul與母階層li相同位置 */
clear:left;
margin-top: 30px;
margin-right: 0;
margin-bottom: 0;
margin-left: 0;
}
/* 修正IE7絕對定位差異 */
*:first-child+html #menu ul li ul {
margin-top:0;
}
/* 修正IE6絕對定位差異 */
* html #menu ul li ul {
margin-top:0;
}
#menu ul li ul li {
/* 覆寫繼承自第一層的浮動設定 */
float:none;
text-align: center;
}
#menu ul li ul li a {
/* 覆寫繼承自第一層的浮動設定 */
float:none;
width: 100%;/* 註:display、height、padding繼承第一層的設定 */
}
#menu ul li ul li ul {
margin-top: -30px;
margin-right: 0;
margin-bottom: 0;
margin-left: 100px;
width: 100%;
}
/* 修正IE7絕對定位差異 */
*:first-child+html #menu ul li ul li ul {
margin-top:-30px;
}
#menu ul li ul li ul li {
/* width、float繼承第二層,免設定 */
}
#menu ul li ul li ul li a {
/* width、float繼承第二層,免設定 */
}
/* ---------- 隱藏與顯示階層 ---------- */
#menu ul li ul {
/* 預先隱藏第二層 */
visibility:hidden;
}
#menu ul li:hover ul {
/* 觸動第一層時,顯示第二層 */
visibility:visible;
}
#menu ul li:hover ul li ul {
/* 顯示第二層時,隱藏第三層,避免同時彈出 */
visibility:hidden;
}
#menu ul li ul li:hover ul {
/* 觸動第二層時,顯示第三層 */
visibility:visible;
}
#menu ul li ul li:hover ul li ul {
/* 顯示第三層時,隱藏第四層,避免同時彈出 */
visibility:hidden;
}
#menu ul li ul li ul li:hover ul {
/* 觸動第三層時,顯示第四層 */
visibility:visible;
}
/* ---------- 以下為美化用,非必需 ---------- */
/* 預設字體 */
#menu {
font-size:12px;
font-family:Arial, Helvetica, sans-serif;
}
/* 第一層ul背景色彩與邊框 */
#menu ul {
background:#6f6f6f;
}
/* 第一層a字型 */
#menu ul li a {
color:#FFF;
text-decoration:none;
line-height: 30px;
}
/*第二層ul背景色彩與邊框 */
#menu ul li ul {
background:#efefef;
}
/* 第二層a字型 */
#menu ul li ul li a {
font-size:12px;
color:#333333;
text-decoration:none;
}
/* 觸動第一層li時,改變背景色 */
#menu ul li:hover, #menu ul li a:hover {
background:#efefef;
}
#menu ul li:hover a {
color:#333333;
}
/* 觸動第二層以上li時改變背景色 */
#menu ul li ul li:hover, #menu ul li ul li a:hover {
background:#dfdfdf;
}
歡迎同好一起聊天進步
HI 如果有任何工作機會歡迎透過信箱聯繫我
Hi any jobs welcome to contact me by mail.Marstsaiforjob@gmail.com
resume:https://1drv.ms/w/s!AkEOmv5qDtVoc9Dj4uHhda310E4
2016年4月20日 星期三
C# 問號的意思
1. int? number;
2. txtName.Text.Trim().Length == 0 ? null : txtName.Text.Trim()
3 .a??0
第一種的意思
?(單問號),是System.Nullable<T>的縮寫形式,可null類型。
第二種的意思
? 為三元運算符,在上面例子中,就等於是
if (txtName.Text.Trim().Length == 0)
{
取 null;
}
else
{
取 txtName.Text.Trim();
}
第三種的意思
??(雙問號),意思是取所賦值??左邊的,如果左邊為null,取所賦值??右邊的,所以上面例子等於是
if (a==null)
{
取 0;
}
else
{
取 a;
}
標籤:
C#
歡迎同好一起聊天進步
HI 如果有任何工作機會歡迎透過信箱聯繫我
Hi any jobs welcome to contact me by mail.Marstsaiforjob@gmail.com
resume:https://1drv.ms/w/s!AkEOmv5qDtVoc9Dj4uHhda310E4
2016年3月24日 星期四
合併兩筆JObject
var j1 = (JObject)JsonConvert.DeserializeObject(json1);
var j2 = (JObject)JsonConvert.DeserializeObject(json2);
var jArray = new JArray(j1, j2);
var str = jArray.ToString();
EDIT
var final = JsonConvert.SerializeObject(
new {Title=j1["Title"], data=j1["data"].Union(j2["data"])},
Newtonsoft.Json.Formatting.Indented);
標籤:
Json
歡迎同好一起聊天進步
HI 如果有任何工作機會歡迎透過信箱聯繫我
Hi any jobs welcome to contact me by mail.Marstsaiforjob@gmail.com
resume:https://1drv.ms/w/s!AkEOmv5qDtVoc9Dj4uHhda310E4
訂閱:
文章 (Atom)