標籤

ASP.NET MVC (29) Visual C# (15) JQuery (10) Plugins (8) JQuery Plugins (6) JavaScript (6) MySQL (5) CSS (4) LinQ (4) Mac OS (4) CentOS (3) Design Pattern (3) Entity Framework (3) IIS (3) Python (3) Windows (3) php (3) Docker (2) LAMP (2) SQL Server (2) WCF (2) .NET (1) .NET Core (1) AWS (1) Browser (1) GIS (1) IE (1) Internet Security (1) Linux (1) Platform (1) React (1) SEO (1) Testing (1) VMware (1) Windows 7 (1) cookie (1) curl (1) laravel (1) phpBB (1) session (1) 中古屋 (1) 透天 (1) 閒言閒語 (1) 面試 (1) 鳥松 (1)

2011年9月29日 星期四

[LinQ] 確定LinQ的預設值(FirstOrDefault DefaultIfEmpty)

var result = (...).FirstOrDefault();
if( result != null )
{
...
}


有時候我常常為了判斷result到底有沒有結果煩惱,到底甚麼時候是null,甚麼時候是預設值?
如果用下面的方法就簡單多了:

var defaultValue = default(List);
if( result != defaultValue )
{
...
}



2011年9月23日 星期五

[JQuery] Jquery 常用操作

1. 某個Table除了第一列資料,其餘列全部清除:


$(document).ready(function() {
$("someTableSelector").find("tr:gt(0)").remove();
});




[Plugins] SWFUpload 動態指定Post參數

因為專案中每次上傳都有可能有不同的Post參數,查了一下官方文件,有【addFileParam()】這個好用的方法,但是這個方法似乎無法從外部呼叫,參考了一下網路其他文章,可以修改handlers.js中【function uploadStart(file) {}】函數來呼叫【addFileParam()】方法。

一個post參數名稱為"pId",值為2的範例:

function uploadStart(file) {
try {
this.addFileParam(file.id, "pId", "2");
var progress = new FileProgress(file, this.customSettings.progressTarget);
progress.setStatus("上傳中...");
progress.toggleCancel(true, this);
}
catch (ex) { }
return true;
}





Reference:

2011年9月19日 星期一

[ASP.NET MVC] 在View中使用預設的客戶端驗證

Using the client side validation in ASP.NET MVC3 without Model.
---
我既想要使用ASP.NET MVC的客戶端驗證,但是我又不想綁定資料模型,其實很簡單,只需將每個想要驗證的加上以下屬性:
  • data-val = true
  • data-val-(required|regex|range|equalto|remote|length|number)="顯示的錯誤訊息"

然後除了require不用規則,其他規則根據下列來加入:
  • data-val-regex-pattern
  • data-val-range-min
  • data-val-range-max
  • data-val-equalto-other
  • data-val-remote-url
  • data-val-remote-type
  • data-val-remote-additionalfield
  • data-val-length-min
  • data-val-length-max
例如我有個input名稱叫做keyword,他是屬於必要項目,那設定如下:
<input id="keyword" type="text" value="" name="keyword" data-val-required="關鍵字欄位為必要項。" data-val="true">

*注意true不能大寫為True

---
當然View中該引用的東西還是得引用:
1. 下面兩個js檔案
"~/Scripts/jquery.validate.min.js",
"~/Scripts/jquery.validate.unobtrusive.min.js"

2. @Html.BeginForm內部要加上:@Html.ValidationSummary(true)

---
Reference:



[Entity Framework] 發生 錯誤0019: EntityContainer名稱必須唯一

錯誤訊息: 錯誤0019: EntityContainer名稱必須唯一

error 0019: The EntityContainer name must be unique

--
因為將有包含Model的類別全數移動到另一個ClassLiberary專案,結果運行的時候發生上述錯誤,上網查找後,有可能的原因為:
1. 參考的不同命名空間中有兩個名稱相同的EntityContainer(*.edmx)。
2. 將專案bin目錄中所有dll與pdb完全清除,並且重新編譯。

Reference:




2011年9月15日 星期四

[MySQL] 還原資料庫時發生錯誤 Incorrect string value for column 'blahblahblah' at row 1

起因是要從某個 *.sql 的檔案還原至本機的MySQL Server,指令如下:
mysql -u root -p crazyshop1 -P 3306 < db_XXXX.sql

錯誤訊息如下:

Google一下發現應該是編碼沒有設定為UFT-8的關係:

於是在MySQL Workbench中設定,但是不管是使用AfterTable方式還是設定預設值,都無法排除錯誤:
最後經理在還原指令中指定預設編碼,就搞定收工了~
mysql --default-character-set utf8 -u root -p -P 3307 crazyshop < db_XXXX.sql

看來完全不懂MySQL,要加油了~