1、Linq中,.Where(predicate).OrderByDescending(b => b.Id).OrderByDescending(b => b.IsTop).ToList()這裡面的OrderBy()一定要小心,是存在先後順序的,後寫的OrderBy()會先產生在sql語句中。如果不注意,會造成順序的顛倒,從而引出排序的BUG,這種BUG可以用SQL事件探查器查出來。
以上語句產生的SQL是“where xxxxxxxx order by IsTop desc,Id desc”。
2、不要太相信Membership的Profile,它有時不能取出對象,很詭異。建議自己做強型別的身份資訊,而不要在web.config中配置那些欄位。我至今無法解釋,只能說是RP問題。
3、枚舉在編碼時記得留下擴充的空間,特殊形式的放在前面。例如
Code
/// <summary>
/// 單位類型
/// </summary>
public enum BranchType
{
/// <summary>
/// 其他
/// </summary>
Other = 0,
/// <summary>
/// 學校
/// </summary>
School = 1,
/// <summary>
/// 機關
/// </summary>
Government = 2,
/// <summary>
/// 企事業單位
/// </summary>
Corporation = 3,
}
這個Other就放在0位,其實目的也很單純,如果放在最後,萬一客戶說要加一個,加在Other後面搞的好醜陋啊。
4、關於asp.net3.5 ajax部署時“Error:ASP.NET Ajax 用戶端架構未能載入”的錯誤
原因是部分虛擬機器主機預設的沒有開啟.axd檔案的解析,造成指令碼資源等檔案無法產生,類似以下的東東無法工作:
<script src="/WebResource.axd?d=65Ia2ddeYx8IU6vULCb8TQ2&t=633435259615117500" type="text/javascript"></script>
解決方案:在IIS中增加對.axd檔案的解析處理,注意要取消“確認檔案是否存在”。