但是在select的時候程式若為區間那可能就會抓00:00~2359這樣下程式語法
datediff搭配只需輸入
select a.* from table as a Where datediff(dy, a.xxx, '2015-07-10') = 0
select a.* from table as a Where datediff(dy, a.xxx, '2015-07-10') = 0
public int id { get; set; }
public string name { get; set; }
2.將class繼承INotifyPropertyChanged
using System.ComponentModel;
public class member : INotifyPropertyChanged
3.實作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;
<form action="xxx.php" method="post" onsubmit="return false;"> </form>參考來源
public xxxEntities()
: base("name=xxxEntities")
{
}
改成如下後就能自帶Connection string
public xxxEntities(string ConnectionString)
: base(ConnectionString)
{
}
但上篇所提到的Model如果更新就會被改掉
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參考來源
@section scripts {
<script>
$(function () {
$.ajax({
url: '@Url.Action("TestGet", "Home")',
type: 'post',
data: { q: '傳到後端再顯示的!!' },
async: false,
success: function (data) {
alert(data);
}
});
});
</script>
}
[HttpPost]
public ActionResult TestGet(string q)
{
return Content(q);
}
<link href="/css/bootstrap-multiselect.css" rel="stylesheet" type="text/css" /> <script src="/js/bootstrap-multiselect.js" type="text/javascript"></script>Html部份
<select id="selecttest" multiple="multiple"> 略... </select>js部份
$('#selecttest').multiselect({
includeSelectAllOption: true,
selectAllText: '全選',
nonSelectedText :'未選擇',
allSelectedText : '已全選'
});
還有許多屬性可以使用
<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再向下抓
$('.selectAll').change(function () {
$(this).closest('table').find('tbody tr td input[type="checkbox"]').prop('checked', $(this).prop('checked'));
});
這樣只要checkbox class指定好不管多少table都能共用
$(function () {
$('.tbspan').rowspan(1);//第幾個欄位做合併 0開始
$('.tbspan').rowspan(4, 0); //(合並那一個,那一個欄位一樣)
$('.tbspan').colspan(3);//第幾列做合併 0開始
});
參考來源
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);
$('.fancybox').fancybox({
closeBtn: false, // 是否顯示關閉按紐
helpers: {
// 防點擊背景時關閉
overlay: { closeClick: false }
},
keys: {
// 防點擊ESC時關閉
close: null
}
});
參考來源
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 List 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();
}
}
5.前端的Html及加入參考
<div>
<ul id="lst"></ul>
</div>
<script src="/Scripts/jquery-1.11.2.min.js"></script>
<script src="/Scripts/jquery.signalR-2.0.1.js"></script>
<script src="/signalr/hubs"></script>
6.撰寫JS,比較需要了解的對應Server的呼叫及Server如何呼叫Client
<script type="text/javascript">
$(function () {
//建立與Server端的Hub的物件,注意Hub的開頭字母一定要為小寫
var onlineHub = $.connection.myHub;
//將連線打開
$.connection.hub.start().done(function () {
onlineHub.server.userConnected(location.href, navigator.userAgent);//呼叫server
});
//讓server呼叫(抓取資料)
onlineHub.client.getList = function (userList) {
//內容自由發揮
var HasObj = $('#lst');
if (!HasObj.length)
return;
$("#lst").html("");
var li = "";
$.each(userList, function (index, data) {
li += "<li id='" + data.id + "'>ip:" + data.ip + "-Url:" + data.url + "-Brower:" + data.browser + "</li>";
});
$("#lst").html(li);
}
//讓server呼叫(移除離開人員)
onlineHub.client.onUserDisconnected = function (id) {
//內容自由發揮
$('#' + id).remove();
}
});
</script>
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();
}
了解運作方式後其實可以做其他許多功能,以上如有錯誤請告知謝謝!!

<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true"
android:resizeable="true"
android:anyDensity="true"
/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.RECORD_VIDEO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
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檔試了一下怎麼裝都起不來
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />
.....
修改成
<system.webServer>
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" >
<remove name="WebDAVModule" />
</modules>
.....
.....以下空的
$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(); }
public HttpResponseMessage Get()
{
List<Sys_Domain> data = new List<Sys_Domain>();
foreach (var item in db.Sys_Domain)
{
Sys_Domain Row = new Sys_Domain()
{
//todo
};
data.Add(Row);
}
return Request.CreateResponse(HttpStatusCode.OK, data);
}
就可以正常的回傳了剛學習,如有更好的方式再請大家多指教!!
public xxxEntities()
: base("name=xxxEntities")
{
}
把name=xxxEntities改成需要的conectionstring如果有加解密可以寫一個function去呼叫
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;
<#
}
#>
}
有更好的解法再等大家提供喔!!
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=Edge" />
</customHeaders>
</httpProtocol>
</system.webServer>
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=EmulateIE7" />
</customHeaders>
</httpProtocol>
</system.webServer>
2015-02-23補充<meta http-equiv="X-UA-Compatible" content="IE=edge">參考網站
function moneyFormat(str) {
if (str.length <= 3) {
return str;
}
else {
return moneyFormat(str.substr(0, str.length - 3)) + "," + (str.substr(str.length - 3));
}
}
2020-12-23補
//三位一撇
function three(num) {
const parts = num.toString().split('.');
parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
return parts.join('.');// '$' +
}
參考網址