2018年1月4日 星期四

Windows Win10安裝SqlServer2012錯誤碼0x800F081F

近期將win7換成win10
所以電腦都已重新安裝方式
於是遇到一些問題
在win10下安裝SqlServer2012時需要.net3.5 sp1可使用
1.下載獨立安裝
2.控制台 > 新增移除程式 > 開啟windows功能 > .net...
但以上方法都會出現問題
錯誤碼:0x800F081F,微軟在文章中已有提到問題原因
解決方法
命令提示字元(管理者權限)
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:光碟代號:\sources\sxs
參考來源
.NET Framework 3.5 安裝錯誤:0x800F0906、0x800F081F、0x800F0907
無法安裝.Net Framework 3.5問題(錯誤碼: 0x800f081f)

2018年1月2日 星期二

IIS Nas+IIS虛擬目錄

因時代改變由圖片變成了影片需要更大的空間,
但總覺得產品也變的比較容易壞
所以由之前的D槽變成了Nas
由IIS連上Nas的方法提供一個給遇到的人或給未來的自己
1.建立網站目錄
2.新增虛擬目錄
3.輸入"別名"
4.在"實體路徑"部份要輸入UNC 例:\\192.168.0.2\\myvideo(當然Nas上要先建好這資料夾)
5.連線身份輸入可登入Nas myvideo 資料夾的帳號密碼
參考來源
IIS站點/虛擬目錄中訪問共享目錄(UNC)

2016年7月1日 星期五

Asp.net MVC 設定圖片路徑(22)

也許有些美編會將大圖或背景寫在Css裡
但萬一使用者有需要異動資料夾或是由資料庫撈時就沒辦法
所以如果有需求時會拿到html裡如下
<div id="status" style="background-image: url(image/123.gif)"></div>
如果需要做可以動態改變時怎麼辦
網路做法有一堆
自己想到一個做法
<div id="status" style="background-image: url(@Url.Action("Index" , "images")/status.gif)"></div>  
使用@Url.Action來產生連結這樣就可做多種變化

2016年4月15日 星期五

c# WinForm鍵盤對應畫面輸入例如小鍵盤

這功能應該網路上都找的到
因為比較少寫winform所以自己記錄一下
1.首先winform 建構式時要設定
this.KeyPreview = true;
2.覆寫Form.ProcessCmdKey大致上這樣就可以了
  protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
        {
            switch (keyData)
            {
                case Keys.NumPad1:
                case Keys.D1:

                     //按下1或鍵盤1時處理      
                     return true; 
                case Keys.Enter:

                    //按下Enter時處理                  
                    return true; 
                case Keys.Escape:

                    //按下Esc時處理
                    return true;
            }

            return base.ProcessCmdKey(ref msg, keyData);

        }
參考來源
Form.ProcessCmdKey 方法 (Message, Keys)
c# - 在 WinForm 中讓 Enter 鍵變成 Tab 鍵

2016年3月11日 星期五

Asp.net 項目'connectionstring' 已加入

這個錯誤是第一次遇到,自己記錄一下
情況:
掛在他專案下的應用程式、都有連資料庫、 跟其他專案的應用程式設定的連現字串name一樣
就會出現這種問題
解法
1.把連線字串名稱改掉
2.<remove name="ConnectionString" />
參考來源
http://zhidao.baidu.com/question/156580753.html

2016年2月4日 星期四

Asp.net MVC NuGet 常安裝的(21)

在寫新專案時比較方便加入
.Net Framework
Install-Package Autofac.Mvc5 -Version 4.0.2 
Install-Package bootstrap -Version 3.3.7
Install-Package EntityFramework -Version 6.2.0
Install-Package EntityFramework.zh-Hant -Version 6.2.0 
Install-Package Fancybox -Version 2.1.5
Install-Package jQuery -Version 1.12.4
Install-Package Microsoft.jQuery.Unobtrusive.Ajax -Version 3.2.5
Install-Package Newtonsoft.Json -Version 7.0.1 
Install-Package NPOI -Version 2.4.0 
Install-Package PagedList.Mvc -Version 4.5.0 
Install-Package System.Linq.Dynamic -Version 1.0.7 
Install-Package Microsoft.AspNet.Mvc -Version 5.2.7
.Net Core(2020-11-13)
Model
Install-Package FluentValidation.AspNetCore
Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 3.1.21
Install-Package Microsoft.EntityFrameworkCore.SqlServer.Design
Install-Package Microsoft.EntityFrameworkCore.Tools -Version 3.1.21
Service
Install-Package Dapper
Install-Package Microsoft.AspNetCore.Mvc.Core
Install-Package NPOI -Version 2.5.2
Web
Install-Package X.PagedList.Mvc.Core
libman.json(2020-11-13)
{
  "version": "1.0",
  "defaultProvider": "cdnjs",
  "libraries": [   
    {
      "provider": "unpkg",
      "library": "@microsoft/signalr@3.1.4",
      "destination": "wwwroot/microsoft/signalr/"
    },
     {
      "library": "fancybox@3.5.7",
      "destination": "wwwroot/lib/fancybox/"
    },
    {
      "library": "jquery@3.5.1",
      "destination": "wwwroot/lib/jquery/"
    },
    {
      "provider": "unpkg",
      "library": "bootstrap@4.5.3",
      "destination": "wwwroot/lib/bootstrap/"
    },
    {
      "library": "bootstrap-datepicker@1.9.0",
      "destination": "wwwroot/lib/bootstrap-datepicker/"
    }
  ]
}

2015年10月1日 星期四

Asp.net MVC Bootstrap submit confirm Button loading(20)

有時在批次執行一些動作時會持續很久
要怎麼讓按紐變成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年7月16日 星期四

T-SQL 取得identity資訊

目前想試寫一個排程同步的軟體
預到的第一步就是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日 星期六

T-SQL smalldatetime or datetime抓當天

有時候資料庫欄位會開smalldatetime 或datetime
但是在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
        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 List 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;
        }
6.抓出資料
 member script = new member();
 List lst = script.GetMember(10);
 dataGridView1.DataSource = lst;
7.寫另一個頁面去修改name
會發覺改了後dataGridview1的name也會跟著改
太神奇又好用了
參考網址
HOW TO:實作 INotifyPropertyChanged 介面
範例下載
INotifyPropertyChanged實作

2015年6月3日 星期三

Html5 Form內按Enter無效

有時用jQuery或其他方式自訂了Enter的function後會不需要form的submit
<form action="xxx.php" method="post"  onsubmit="return false;">
</form>
參考來源
FORM内でのEnter無効化

2015年5月29日 星期五

Visual Studio Entity Framework6 自定連線字串

繼上次Visual Studio Entity Framework 設定連線字串問題
目前網路上找到比較適合我的方式
修改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)
@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);
        }

2015年5月13日 星期三

Bootstrap Multiselect

接到一個功能是要多選checkbox
忽然想到能不能下拉select 時有checkbox
在網路上找到bootstrap-multiselect
功能相當齊全使用也簡單給需要的人參考
加入參考
<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 : '已全選'
            });

還有許多屬性可以使用
如果都沒有時select的val()是null