2012年3月21日 星期三

[C#]Linq及Entity Sql語法參考 .

Entity SQL 語法參考(MSDN


LINQ 語法參考


另外在安裝Visual Studio2010VS也提供了一個Linq查詢語法的範例可以直接拿來參考。

方法~
C:\Program Files\Microsoft Visual Studio 10.0\Samples\1028
解開 CSharpSamples.zip 裡面的 LinqSamples
直接用VS開啟這個專案,按下F5執行即出現下面畫面。


[C#] Call by pointer、value、reference、name

Call by valueCall by pointerCall by reference

Call by name

其實 call-by-name 並不等於 call-by-referencecall-by-name 源自於 Algol60 這個
古早的程式語言,它定義了兩種參數傳遞方式,call-by-value call-by-name,其中
call-by-name 被定義為 Name Replacement:「參數列中的每個參數,如果未指定以
傳值的方式來傳遞,就必須以實際傳入的參數來取代。」在 Compilers - Principles,
Techniques, and Tools 這本書的 7.5 節中,它被解釋為 inline-expansion。其原因
是,以 call-by-name 的方式呼叫函式時,如果在某個參數位置上指定了一個運算式
(expression) 當作參數,那麼這個 expression 會被直接傳入函式裡面進行展開,所以,
這個 expression 是在函式裡面才進行運算的,而不是在參數列中預先計算好它的值再傳
進去。這就產生了 delayed evaluation (延遲計算) 的效果。delayed evaluation 的好處
是,只有當函式需要某個 expression 參數的值,該 expression 才會被計算,否則就不
用了。call-by-name 比較顯著的例子是 swap 函式,swap 通常是這樣寫的:

P(X, Y, Z) 這個例子中:

proc P(X, Y, Z) {
   Y = Y + 1;
   Z = Z + X;
}

P(a+b, a, a) { // a = 2, b = 3
   a = a + 1; // a becomes 3
   a = a + (a+b); // inline expansion of X, a becomes 9
}

[ASPNET] WebForm事件順序 .

1. Page PreInit
2. TextBox Init (按鈕事件)
3. Page Init
4. Page InitComplete
5. Page PreLoad
6. Page Load
7. TextBox Load (按鈕事件)
8. Page LoadComplete
9. Page PreRender
10. TextBox PreRender (按鈕事件)
11. Page PreRenderComplete
12. Page SaveStateComplete

原文  http://www.dotblogs.com.tw/jeff377/archive/2008/03/17/1690.aspx

[ASPNET] 引用檔案路徑設定的問題

ASP.NET引用檔案路徑設定的問題

問題:
開發ASP.NET網站時,使用MasterPageContentPage,因為ContentPage會放在各個資料夾下,引用的圖片或JS檔,也是放置於不同的資料夾(如下圖)。


或是因為網域的關係,導致引用圖片的路徑,在開發時雖然可正常顯示,但在runtime或發佈到其它server後,出現路徑錯誤叉燒包的情況。
<img src="../images/Test.jpg" alt="" />
<img src="~/images/Test.jpg" alt="" />



解決方式:
1.       Web.config裡設定一組網站的URL路徑,關鍵字為:WebUrl
<appSettings>
    <add key="WebUrl" value="http://localhost:8080/My_Web/" />
  </appSettings>
   
   
PS. 正式上線時要換成網域名稱或對外IP

2.       專案加入一個公開類別,新增一個 static字串成員來讀取剛才設定的WebUrl :
public class Common
{
public static string WebUrl = WebConfigurationManager.AppSettings["WebUrl"];
}

接下來只要在HTML裡面的圖片或是js路徑設定為:
<IMG src="<%= Common.WebUrl  %>images/xxxx.gif">
<script type="text/javascript" src="<%= Common.WebUrl %>javascript/XXX.js"/>

這樣就可以正確設定圖片或js的路徑,不會出現叉燒包。