話題應該有很多人寫過了
本篇讓自己記錄一下
下次架設機器時可用
1.先下載Application Initialization Module for IIS 7.5安裝
2.再下載Application Initialization UI for IIS 7.5安裝
3.進入IIS設定AlwaysRunning
參考網址
Application Initialization Module for IIS 7.5
Application Initialization UI for IIS 7.5
2015年12月25日 星期五
2015年10月1日 星期四
Asp.net MVC Bootstrap submit confirm Button loading(20)
有時在批次執行一些動作時會持續很久
要怎麼讓按紐變成Loading讓使用者不會重複按
一個是在執行submit前一個在後
加上confirm讓使用者有感
要怎麼讓按紐變成Loading讓使用者不會重複按
@using (Ajax.BeginForm("action", "controller", null, new AjaxOptions { HttpMethod = "POST", OnSuccess = "OnSuccess", OnBegin = "OnBegin" })) { }寫兩個function OnBegin OnSuccess
一個是在執行submit前一個在後
加上confirm讓使用者有感
var btn = $('#MultipleCreate'); function OnBegin() { if (!confirm('確定批次新增嗎??')) return false; btn.button('loading'); } function OnSuccess(response) { btn.button('reset'); alert('完成'); }
2015年8月6日 星期四
2015年7月16日 星期四
SQL 取得identity資訊
目前想試寫一個排程同步的軟體
預到的第一步就是identity問題
找了一下網路如可簡單組出已下
請問要去那個資料表查出自動編號 IDENTITY (x,y ) 的起始值(x)及增量
SQL Server的Identity字段使用/复制/重设
Usage of IDENT_INCR and IDENT_SEED function of Identity column in sql server
預到的第一步就是identity問題
找了一下網路如可簡單組出已下
select IDENT_SEED('table_name') as 起始值, IDENT_INCR('table_name') as 每次增值, IDENT_CURRENT('table_name') as 目前最大值重置indentity
dbcc checkident('table_name', RESEED, 100)Insert後取得indentity
Select @@Identity參考來源
請問要去那個資料表查出自動編號 IDENTITY (x,y ) 的起始值(x)及增量
SQL Server的Identity字段使用/复制/重设
Usage of IDENT_INCR and IDENT_SEED function of Identity column in sql server
2015年7月11日 星期六
SQL smalldatetime or datetime抓當天
有時候資料庫欄位會開smalldatetime 或datetime
但是在select的時候程式若為區間那可能就會抓00:00~2359這樣下程式語法
datediff搭配只需輸入
但是在select的時候程式若為區間那可能就會抓00:00~2359這樣下程式語法
datediff搭配只需輸入
select a.* from table as a Where datediff(dy, a.xxx, '2015-07-10') = 0
2015年6月5日 星期五
c# INotifyPropertyChanged實作
網路上已經有許多INotifyPropertyChanged的文章
看了許多但還是不太懂所以看著msdn實作了一次
1.先新增一個class
會發覺改了後dataGridview1的name也會跟著改
太神奇又好用了
參考網址
HOW TO:實作 INotifyPropertyChanged 介面
範例下載
INotifyPropertyChanged實作
看了許多但還是不太懂所以看著msdn實作了一次
1.先新增一個class
public int id { get; set; } public string name { get; set; }2.將class繼承INotifyPropertyChanged
using System.ComponentModel; public class member : INotifyPropertyChanged3.實作INotifyPropertyChanged
public event PropertyChangedEventHandler PropertyChanged; private void NotifyPropertyChanged(String info) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(info)); } }4.修改class
public int id { get; set; } private string _name; public string name { get { return this._name; } set { if (value != this._name) { this._name = value; NotifyPropertyChanged("Name"); } } }5.新增一個list(抓假資料如果是資料庫也可直接改)
public List6.抓出資料GetMember(int pCount) { List lst = new List (); string name = "test"; for (int i = 0; i < pCount; i++) { member create = new member() { id = i, name = name + i.ToString() }; lst.Add(create); } return lst; }
member script = new member(); List7.寫另一個頁面去修改namelst = script.GetMember(10); dataGridView1.DataSource = lst;
會發覺改了後dataGridview1的name也會跟著改
太神奇又好用了
參考網址
HOW TO:實作 INotifyPropertyChanged 介面
範例下載
INotifyPropertyChanged實作
2015年6月3日 星期三
2015年5月29日 星期五
Visual Studio Entity Framework6 自定連線字串
繼上次Visual Studio Entity Framework 設定連線字串問題後
目前網路上找到比較適合我的方式
修改Model中xxx.Context.cs
所以要修改xxx.Context.tt
如果沒把握或看不懂千萬別亂改喔!!
找到
Passing Connection String to Entity Framework 6
目前網路上找到比較適合我的方式
修改Model中xxx.Context.cs
public xxxEntities() : base("name=xxxEntities") { }改成如下後就能自帶Connection string
public xxxEntities(string ConnectionString) : base(ConnectionString) { }但上篇所提到的Model如果更新就會被改掉
所以要修改xxx.Context.tt
如果沒把握或看不懂千萬別亂改喔!!
找到
public <#=code.Escape(container)#>() : base("name=<#=container.Name#>") {改成
public <#=code.Escape(container)#>(string ConnectionString) : base(ConnectionString) {使用方式如下
//自行加密 private static string conn = string.Format("metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=System.Data.SqlClient;provider connection string=\";data source={0};initial catalog={1};user id={2};password={3};MultipleActiveResultSets=True;App=EntityFramework\";", "datasource", "catalog", "id", "pw"); private xxxEntities db = new xxxEntities(conn);要注意的是以下符號改為雙引號,這樣進行字串加密
& q u o t參考來源
Passing Connection String to Entity Framework 6
2015年5月20日 星期三
Asp.net MVC jQuery常用範例(19)
因公很久沒寫MVC了都忘了
最近練了許多jQuery的東西想說MVC到時能做結合所以想到先做一個筆記
想到就加摟
1.如何將資料傳到後端(主要是Url.Action)
最近練了許多jQuery的東西想說MVC到時能做結合所以想到先做一個筆記
想到就加摟
1.如何將資料傳到後端(主要是Url.Action)
@section scripts { }
[HttpPost] public ActionResult TestGet(string q) { return Content(q); }
2015年5月13日 星期三
Bootstrap Multiselect
接到一個功能是要多選checkbox
忽然想到能不能下拉select 時有checkbox
在網路上找到bootstrap-multiselect
功能相當齊全使用也簡單給需要的人參考
加入參考
如果都沒有時select的val()是null
忽然想到能不能下拉select 時有checkbox
在網路上找到bootstrap-multiselect
功能相當齊全使用也簡單給需要的人參考
加入參考
Html部份
js部份
$('#selecttest').multiselect({ includeSelectAllOption: true, selectAllText: '全選', nonSelectedText :'未選擇', allSelectedText : '已全選' });還有許多屬性可以使用
如果都沒有時select的val()是null
2015年4月8日 星期三
jQuery Table中CheckBox全選
我想這功能應該被寫爛了
但我常遇到一個畫面有好幾個table
這樣每個都需要寫一次
這樣很麻煩程式碼也很長
closest這個語法可以查到指定的最上層
然後再用find向下找
程式依文字解讀就變下面
參考來源
.closest() | jQuery API Documentation
但我常遇到一個畫面有好幾個table
這樣每個都需要寫一次
這樣很麻煩程式碼也很長
<table> <thead> <tr class="active"> <th> <label> <input type="checkbox" class="selectAll" />全選</label> </th> </tr> </thead> <tbody> <tr> <td> <input type="checkbox" /> </td> <tr> <tr> <td> <input type="checkbox" /> </td> <tr> <tr> <td> <input type="checkbox" /> </td> <tr> <tr> <td> <input type="checkbox" /> </td> <tr> </tbody> </table>計畫是抓到這個checkbox的父table再向下抓
closest這個語法可以查到指定的最上層
然後再用find向下找
程式依文字解讀就變下面
$('.selectAll').change(function () { $(this).closest('table').find('tbody tr td input[type="checkbox"]').prop('checked', $(this).prop('checked')); });這樣只要checkbox class指定好不管多少table都能共用
參考來源
.closest() | jQuery API Documentation
2015年4月7日 星期二
jQuery Table合並儲存格
一早接到一個需合併儲存的功能
搜尋了一下找到一個與法簡單又相當好用的
jquery請參考jQuery : 分享合併Table的欄位 (RowSpan、ColSpan) 語法
jQuery colspan and rowspan table using cell break
jQuery : 分享合併Table的欄位 (RowSpan、ColSpan) 語法
$(function () { $('.tbspan').rowspan(1);//第幾個欄位做合併 0開始 $('.tbspan').rowspan(4, 0); //(合並那一個,那一個欄位一樣) $('.tbspan').colspan(3);//第幾列做合併 0開始 });參考來源
jQuery colspan and rowspan table using cell break
jQuery : 分享合併Table的欄位 (RowSpan、ColSpan) 語法
2015年3月26日 星期四
Asp.net 將所有物件變ReadOnly,及變回來
目前很少直接使用asp.net的control
大多使用jquery + html方式來做
同事問到是否能將所有control變readonly
花了幾分鐘寫了以下的function希望對大家有幫助
變ReadOnly
大多使用jquery + html方式來做
同事問到是否能將所有control變readonly
花了幾分鐘寫了以下的function希望對大家有幫助
變ReadOnly
void ReadOnlyControl(Control control) { foreach (var item in control.Controls) { if (item is System.Web.UI.WebControls.TextBox) { TextBox ctrl = (TextBox)item; ctrl.ReadOnly = true; } else if (item is System.Web.UI.WebControls.DropDownList) { DropDownList ctrl = (DropDownList)item; ctrl.Enabled = false; } else if (item is System.Web.UI.WebControls.CheckBox) { CheckBox ctrl = (CheckBox)item; ctrl.Enabled = false; } } }變回來
void WriteControl(Control control) { foreach (var item in control.Controls) { if (item is System.Web.UI.WebControls.TextBox) { TextBox ctrl = (TextBox)item; ctrl.ReadOnly = false; } else if (item is System.Web.UI.WebControls.DropDownList) { DropDownList ctrl = (DropDownList)item; ctrl.Enabled = true; } else if (item is System.Web.UI.WebControls.CheckBox) { CheckBox ctrl = (CheckBox)item; ctrl.Enabled = true; } } }使用方式
ReadOnlyControl(form1); WriteControl(form1);
2015年3月18日 星期三
Visual Studio 2013如何使用.net 4.5.2專案
為什麼該升級舊版的 .NET 應用程式? .NET 3.5 SP1~ 4.5.1 的支援週期及停止支援說明 (End of Support)!!該升級4.5.2了
但都已經升到2013 update 4了新增專案怎麼都只看到4.5.1
原來還需要安裝適用於 Windows Vista SP2、Windows 7 SP1、Windows 8、Windows 8.1、Windows Server 2008 SP2、Windows Server 2008 R2 SP1、Windows Server 2012 和 Windows Server 2012 R2 的 Microsoft .NET Framework 4.5.2 開發人員套件
client離線安裝 適用於 Windows Vista SP2、Windows 7 SP1、Windows 8、Windows 8.1、Windows Server 2008 SP2、Windows Server 2008 R2 SP1、Windows Server 2012 和 Windows Server 2012 R2 的 Microsoft .NET Framework 4.5.2 (離線安裝程式)
Good Luck!!
但都已經升到2013 update 4了新增專案怎麼都只看到4.5.1
原來還需要安裝適用於 Windows Vista SP2、Windows 7 SP1、Windows 8、Windows 8.1、Windows Server 2008 SP2、Windows Server 2008 R2 SP1、Windows Server 2012 和 Windows Server 2012 R2 的 Microsoft .NET Framework 4.5.2 開發人員套件
client離線安裝 適用於 Windows Vista SP2、Windows 7 SP1、Windows 8、Windows 8.1、Windows Server 2008 SP2、Windows Server 2008 R2 SP1、Windows Server 2012 和 Windows Server 2012 R2 的 Microsoft .NET Framework 4.5.2 (離線安裝程式)
Good Luck!!
2015年3月17日 星期二
FancyBox 按ESC或點背景無效方式
User有時候會不小心按了ESC或者是不小心點了背景
然後輸入的資料都不見了
為了防止種事發生
DISABLE FANCYBOX BOX CLOSE WITH BUTTON, OVERLAY CLICK AND ESCAPE KEY
然後輸入的資料都不見了
為了防止種事發生
$('.fancybox').fancybox({ closeBtn: false, // 是否顯示關閉按紐 helpers: { // 防點擊背景時關閉 overlay: { closeClick: false } }, keys: { // 防點擊ESC時關閉 close: null } });參考來源
DISABLE FANCYBOX BOX CLOSE WITH BUTTON, OVERLAY CLICK AND ESCAPE KEY
2015年2月12日 星期四
SignalR 第一次使用就上手!!實作即時在線人員
第一次使用就上手!!
如果有這種人那就是高手了,小弟是用了一天才會
重點整理
原為1.x升到2.x方式
目前是想說用SignalR來做一個線上人數的統計,asp.net 使用Application和Session物件統計線上人數一般都會這樣做
後來想一下使用SignalR來做的話是不是對系統效能會好點
1.首先使用NuGet安裝SignalR(安裝方式網路有許多不另教學)
2.新增一個類別,SignalR Hub類別,如果非沒有這項的話也可以新增一個類別
加入以下
using Microsoft.AspNet.SignalR;
public class MyHub : Hub
3.新增一個Class來紀錄使用者資訊
需先參考jQuery,再參考SignalR
後面/signalr/hubs是必備的
參考來源
[轉貼&下載]SignalR聊天室 / 升級SignalR v2的步驟
[.NET]SignalR簡介 - 建立 realtime 的網站
SignalR 再次超越你對 Web 的想像 - 建立即時互動的 Web
悠閒 Coding 系列 (一) - 認識 SignalR 建立 realtime 網頁
點我下載範例
如果有這種人那就是高手了,小弟是用了一天才會
重點整理
原為1.x升到2.x方式
目前是想說用SignalR來做一個線上人數的統計,asp.net 使用Application和Session物件統計線上人數一般都會這樣做
後來想一下使用SignalR來做的話是不是對系統效能會好點
1.首先使用NuGet安裝SignalR(安裝方式網路有許多不另教學)
2.新增一個類別,SignalR Hub類別,如果非沒有這項的話也可以新增一個類別
加入以下
using Microsoft.AspNet.SignalR;
public class MyHub : Hub
3.新增一個Class來紀錄使用者資訊
public class UserData { public string id { get; set; } public string ip { get; set; } public string url { get; set; } public string browser { get; set; } }4.撰寫Server後端的Class
public class MyHub : Hub { //目前所有連線的list static List5.前端的Html及加入參考UserData = new List (0); public void userConnected(string pUrl, string pBrowser) { //使用者連線 加入清單 var query = from u in UserData where u.id == Context.ConnectionId select u; if (query.Count() == 0) { //這段自由發揮 UserData.Add(new UserData { id = Context.ConnectionId, ip = PublicClass.GetIpAddress(), url = pUrl, browser = pBrowser }); } Clients.All.getList(UserData);//呼叫前端function } public override Task OnDisconnected() { //離開時清除清單 Clients.All.removeList(Context.ConnectionId); var item = UserData.FirstOrDefault(x => x.id == Context.ConnectionId); if (item != null) { UserData.Remove(item);//刪除 Clients.All.onUserDisconnected(item.id); //呼叫前端function } return base.OnDisconnected(); } }
需先參考jQuery,再參考SignalR
後面/signalr/hubs是必備的
6.撰寫JS,比較需要了解的對應Server的呼叫及Server如何呼叫Client
7.如果為2.0版本需新增一個Owin啟動類別並加入
public void Configuration(IAppBuilder app) { app.MapSignalR(); }如果為1.0在Global.asax加入
protected void Application_Start(object sender, EventArgs e) { RouteTable.Routes.MapHubs(); }了解運作方式後其實可以做其他許多功能,以上如有錯誤請告知謝謝!!
參考來源
[轉貼&下載]SignalR聊天室 / 升級SignalR v2的步驟
[.NET]SignalR簡介 - 建立 realtime 的網站
SignalR 再次超越你對 Web 的想像 - 建立即時互動的 Web
悠閒 Coding 系列 (一) - 認識 SignalR 建立 realtime 網頁
點我下載範例
2015年2月10日 星期二
Android 安裝PhoneGap 2.9.0
安裝完Cordova後覺得好像還是用eclipse來開發PhoneGap比較順
雖然平常的開發工具都是VS系列
可能是對於Cordova資料夾內容還不是很熟
1.New Android Application Project 然後就跟跟一般的方法一樣這邊簡略...
2.下載phonegap解壓
3.到lib > android > example 裡將資料cpoy到eclipse裡
assets/www
libs/cordova-2.9.0.jar
res/xml
4.cordova-2.9.0.jar右鍵如下圖
5.開啟AndroidManifest.xml將exmaple裡supports-screens 及uses-permission android:name都copy貼上
activity裡加入 android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"
參考網站:
PhoneGap 教學 - Hello World
範例下載
雖然平常的開發工具都是VS系列
可能是對於Cordova資料夾內容還不是很熟
1.New Android Application Project 然後就跟跟一般的方法一樣這邊簡略...
2.下載phonegap解壓
3.到lib > android > example 裡將資料cpoy到eclipse裡
assets/www
libs/cordova-2.9.0.jar
res/xml
4.cordova-2.9.0.jar右鍵如下圖
5.開啟AndroidManifest.xml將exmaple裡supports-screens 及uses-permission android:name都copy貼上
activity裡加入 android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"
6.MainActivity裡修改
package com.example.test; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import org.apache.cordova.*;//import public class MainActivity extends DroidGap {//改public DroidGap @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.activity_main); super.loadUrl("file:///android_asset/www/index.html");//加入 } }至於為何要使用2.9.0,因為3.0以上改為node.js來安裝,2.9.1裡面無jar檔試了一下怎麼裝都起不來
參考網站:
PhoneGap 教學 - Hello World
範例下載
Visual Studio 開發Corodva前需額外安裝項目
今天心血來潮想使用VS2013開發Cordova
新增專案後會提示需安裝Multi-Device Hybrid Appsok下載
執行後又出現警告需安裝2013 update4ok下載..
執行後又出現警告需安裝Management Frameworkok下載...
裝完以上三個後終於出現安裝頁面^ ^Y
新增專案後會提示需安裝Multi-Device Hybrid Appsok下載
執行後又出現警告需安裝2013 update4ok下載..
執行後又出現警告需安裝Management Frameworkok下載...
裝完以上三個後終於出現安裝頁面^ ^Y
2015年1月26日 星期一
Web Api 405 - 不允許用來存取此網頁的 HTTP 指令動詞
今天終於將AngularJs + web api基本的CRUD寫好了包括一下未來可能會遇到功能
發怖到了IIS主機後才發現無法修改及刪除
因為網頁原本就只有Get Post,但沒有Put跟Delete兩種 網站上有許多方法及相關解法
例如設定WebDAV等等..試了也沒用
找了一篇如下參考網站直接修改WebConfig
找到如下
參考網站
405 Method Not Allowed using ASP.NET Web API
發怖到了IIS主機後才發現無法修改及刪除
因為網頁原本就只有Get Post,但沒有Put跟Delete兩種 網站上有許多方法及相關解法
例如設定WebDAV等等..試了也沒用
找了一篇如下參考網站直接修改WebConfig
找到如下
修改成.....
.....以下空的.....
參考網站
405 Method Not Allowed using ASP.NET Web API
2015年1月22日 星期四
AngularJS 搭配Web Api回傳問題
今天遇到的問題是使用angularjs抓取web api
在一開始都沒問題網路上很多範例如下
js部份
找了許多方式修改了web api
在一開始都沒問題網路上很多範例如下
js部份
$http.get('/url').success(function (data, status, headers, config) { $scope.datalists = data; }) .error(function (data, status, headers, config) { $scope.error = "Error!!"; });web api .cs部份 vs自動產生很快吧!!
public IEnumerable但是其實這個table join了很多Table當被join的table裡開始有資料時就會有錯誤Get() { return db.Sys_Domain.AsEnumerable(); }
找了許多方式修改了web api
public HttpResponseMessage Get() { List就可以正常的回傳了剛學習,如有更好的方式再請大家多指教!!data = new List (); foreach (var item in db.Sys_Domain) { Sys_Domain Row = new Sys_Domain() { //todo }; data.Add(Row); } return Request.CreateResponse(HttpStatusCode.OK, data); }
2015年1月15日 星期四
AngularJS 分頁
最近又開始使用AngularJS之前有練習過,但沒機會實戰
目前開始建構一個專案主要使用AngularJS
原文網址
show more , prev and next , pager
jsfiddle
show more , prev and next , pager
早上測試一下套用的方式相當簡單一下就套上了分享給大家
加入filter
Angularjs - Pagination appear after search filter
目前開始建構一個專案主要使用AngularJS
原文網址
show more , prev and next , pager
jsfiddle
show more , prev and next , pager
早上測試一下套用的方式相當簡單一下就套上了分享給大家
加入filter
Angularjs - Pagination appear after search filter
2015年1月14日 星期三
Visual Studio Entity Framework 設定連線字串問題
繼之前連線字串加密問題後
今天使用vs2013開發新增一個ADO .net 實體模型
後來無法自定連線字串
找了一下 有關Entity Framework在程式中給連線字串這篇也遇到同樣的問題
後來與同事討論有幾種改法
1.修改xxx.Context.cs
這樣就沒事了嗎錯!!!
如果model改了剛寫的都白寫了
2.修改xxx.Context.tt
修改範本方式找到以下做修改成需要的
但如果不是很有把握千萬別亂修改
找到如下
今天使用vs2013開發新增一個ADO .net 實體模型
後來無法自定連線字串
找了一下 有關Entity Framework在程式中給連線字串這篇也遇到同樣的問題
後來與同事討論有幾種改法
1.修改xxx.Context.cs
public xxxEntities() : base("name=xxxEntities") { }把name=xxxEntities改成需要的conectionstring如果有加解密可以寫一個function去呼叫
這樣就沒事了嗎錯!!!
如果model改了剛寫的都白寫了
2.修改xxx.Context.tt
修改範本方式找到以下做修改成需要的
但如果不是很有把握千萬別亂修改
找到如下
public <#=code.Escape(container)#>() : base("name=<#=container.Name#>") { <# if (!loader.IsLazyLoadingEnabled(container)) { #> this.Configuration.LazyLoadingEnabled = false; <# } #> }修改成
public <#=code.Escape(container)#>() : base(你要的function) { <# if (!loader.IsLazyLoadingEnabled(container)) { #> this.Configuration.LazyLoadingEnabled = false; <# } #> }有更好的解法再等大家提供喔!!
訂閱:
文章 (Atom)