<input type="number" asp-for="@Model[i].Field" class="form-control text-right" required step="1" asp-format="{0:0.#}" >
自己筆記一下
<input type="number" asp-for="@Model[i].Field" class="form-control text-right" required step="1" asp-format="{0:0.#}" >
<form data-ajax-begin="OnBegin" data-ajax-complete="OnComplete" data-ajax-method="post" data-ajax-success="OnSuccess" data-ajax="true" id="from1" method="post">
<div class="form-group">
<button class="btn btn-primary" id="Edit" type="submit">編輯</button>
<button class="btn btn-danger" id="Delete" type="submit">刪除</button>
</div>
</form>
javascript部分使用jquery在按鈕點擊後加上data-ajax-url的url
<script src="~/lib/Microsoft.jQuery.Unobtrusive.Ajax/jquery.unobtrusive-ajax.min.js"></script>
<script>
$("#Edit").on("click", function () {
$("#from1").attr("data-ajax-url", "@Url.Action("自訂Action", "自訂Controller")" );
});
$("#Delete").on("click", function () {
if (!confirm("確定刪除!!"))
return false;
$("#from1").attr("data-ajax-url", "@Url.Action("自訂Action", "自訂Controller")" );
});
</script>
後端部分宣告兩個ActionResult來接收即可
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Edit()
{
ResultViewModel result = new ResultViewModel();
return Json(result);
}
[HttpPost,ActionName("Delete")]
[ValidateAntiForgeryToken]
public IActionResult DeleteConfirmed()
{
ResultViewModel result = new ResultViewModel();
return Json(result);
}
個人覺得這樣寫程式有點不好看ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;<=加入 ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;<=加入參考來源
stafflist = await this._staffService.GetAll().Skip(1).Take(1).ToListAsync();
SqlException: 接近 'OFFSET' 之處的語法不正確。 FETCH 陳述式中的選項 NEXT 使用方式無效。 context後來找到一堆方法
services.AddDbContext<CoreSampleContext>(options => options.UseSqlServer(ConnectionString));改成
services.AddDbContext<CoreSampleContext>(options => options.UseSqlServer(ConnectionString,build =>build.UseRowNumberForPaging()));很好一樣出錯,後來找到了原因,目前使用的資料庫是SQL Server 2008R2
Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 3.1.0 Install-Package Microsoft.EntityFrameworkCore.SqlServer.Design -Version 1.1.6 Install-Package Microsoft.EntityFrameworkCore.Tools -Version 3.1.0
Install-Package Microsoft.EntityFrameworkCore.SqlServer Install-Package Microsoft.EntityFrameworkCore.SqlServer.Design Install-Package Microsoft.EntityFrameworkCore.Tools//第一次乾淨時
Scaffold-DbContext "Server=192.168.0.1;Database=Sample;user id=sa;password=1234567;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Project sample.model//有更新時
Scaffold-DbContext "Server=192.168.0.1;Database=Sample;user id=sa;password=1234567;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Project sample.model -Force//需與原資料庫同檔名時
Scaffold-DbContext "Server=192.168.0.1;Database=Sample;user id=sa;password=1234567;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Project sample.model -UseDatabaseNames常遇到Build failed或是直接沒反應
((到職日期 <= 2019-09-30 && 離職日期 >= 2019-09-01) || (離職日期 =null ))會就在這個區間
1.windows + r 輸入regedit; 2.找到路徑HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU,其中UseWUServer默認值為1,改成0; 3.檔案總管 > 本機 > 右鍵 > 服務與應用 > 服務 > Windows Update > 停止再重啟來源:win10 解決.net framework 3.5 安裝報錯 0x800F0954問題
public static int GetBetweenBirthdayCount(DateTime pFrom, DateTime pTo, DateTime pBirthday)
{
int mBirthdayCount = 0;//會過幾次生日
int TotalYear = pTo.Year - pFrom.Year;//看區間有幾年
for (int i = 0; i <= TotalYear; i++)
{
int y = pFrom.AddYears(i).Year;
string m = pBirthday.Month.ToString().PadLeft(2, '0');
string d = pBirthday.Day.ToString().PadLeft(2, '0');
//如果他是生日229的要判斷
if (m == "02" && d == "29")
{//四除的盡就算閏年
if (y % 4 != 0)
{
d = "28";
}
}
DateTime EveryBirthday = DateTime.Parse(y + "-" + m + "-" + d);
if (pFrom <= EveryBirthday && pTo >= EveryBirthday)
{
mBirthdayCount++;
}
}
return mBirthdayCount;
}
npm cache clear --force npm install2.Cannot find module '@angular-devkit/core' ...
npm install --save-dev @angular-devkit/build-angular3.刪除node_modules資料夾再重新
npm install參考資料
<input [(ngModel)]="keyword" placeholder="[(雙向繫結)]" (keyup.escape)="onKeyClear()"/>
文字:{{keyword}},字數:{{keyword.length}}
ts部分
keyword = '';
onKeyClear() {
this.keyword = "";
}
參考資料
<a on-click="CountPlus($event)">點擊次數{{count}}</a><br />
<a (click)="CountPlus($event)">點擊次數{{count}}</a>
ts部分
export class EventBindingComponent implements OnInit {
count = 0;
CountPlus($event:any) {
this.count++;
console.log($event);
}
constructor() { }
ngOnInit(): void {
}
}
===============================================================
<input type="text"
(keyup)="onKeyClear($event)" />
字數:{{keywordCount}}
ts部分
keyword = "";
keywordCount = 0;
onKeyClear(event: KeyboardEvent) {
let elm = (<HTMLInputElement>event.target);
if (event.key == "Escape") {
elm.value = "";//這段要清除掉Html上的文字
this.keyword = "";
} else {
this.keyword = elm.value;
}
console.log(this.keyword);
this.keywordCount = this.keyword.length;
}
參考資料