ASP.NET一些小問題__.net

來源:互聯網
上載者:User

1 關於IFramset 分塊的問題

今天搞了半天就為了一個架構的設計。

以前還做過了的,過了幾個月沒有碰忘記了,今天想了半天還沒搞好,最後乾脆裝了DreamWaveMX。— —。 

不過還好複習了一遍還是弄清楚了,記錄下來,以免以後又忘記了。

在framset中:

rows = " * "   :   通過行分快,也就是從上到下分快,*代表整個

rows = " 100 , 100, * "    : 意思是從上到下分為3快,第一快和第二快是100px,第3快占其他所有

同樣的還有個cols屬性,是通過列分快,也就是從左至右分快

cols = " 100,*  "  : 意思是從左至右,第一塊100px,第二塊占其他所有

 

Q:您在什麼情況下會用到虛方法。它與介面和抽象有什麼不同。介面與抽象又有什麼不同。舉例說明什麼時候使用介面,什麼時候使用抽象類別

A:

先談Virtual Method

 

若一個執行個體方法的聲明中含有 virtual 修飾符,則稱該方法為虛方法 (virtual method)。若其中沒有 virtual 修飾符,則稱該方法為非虛方法 (non-virtual method)。
在調用一個虛方法時,該調用所涉及的那個執行個體的運行時類型 (runtime type) 確定了要被調用的究竟是該方法的哪一個實現。在非虛方法調用中,執行個體的編譯時間類型 (compile-time type) 是決定性因素。
虛方法可以在衍生類別中重寫 (override)。當某個執行個體方法聲明包括 override 修飾符時,該方法將重寫所繼承的具有相同簽名的虛方法。虛方法聲明用於引入新方法,而重寫方法聲明則用於使現有的繼承虛方法專用化(通過提供該方法的新實現)。
抽象 (abstract) 方法是沒有實現的虛方法。抽象方法使用 abstract 修飾符進行聲明,並且只有在同樣被聲明為 abstract 的類中才允許出現。抽象方法必須在每個非抽象衍生類別中重寫。

而介面是一個行為的規範或規定; 僅僅承諾了能夠調用的方法

 

再來談談介面與抽象類別

1.抽象類別是一個不完全的類,需要進一步專業化.介面只是一個行為的規範或規定;
2.介面基本上不具備繼承的任何具體特點,它僅僅承諾了能夠調用的方法;
3.一個類一次可以實現若干個介面,但是只能擴充一個父類
4.介面可以用於支援回調,而繼承並不具備這個特點.


 


Q

1、重載:多個同名函數同時存在,具有不同的參數個數/類型。
        無法以 返回型別 作為重載函數的區分標準。
        當編譯器可以很明確從程式前後狀態判斷出意義時沒問題,如int x=f();但因為我們也可以調用一下函數而不賦給其他變數(只為了獲得“副作用”)如f(),這時候編譯器便區分不出來該調用哪個。

2、重寫:父類與子類之間的多態性。子類中某方法與父類有相同的名稱和參數。

 

 


Q

資料在記憶體中的儲存位置,取決於它的資料類型,在C#中,分為實值型別和參考型別,實值型別的資料存放區在記憶體中的堆棧中,每個變數或程式都有自己的堆棧,不可以共用一個堆棧地址。當資料一個實值型別的變數傳遞到另一個相同類型的變數時,會在堆棧中分配兩個不同的地址。

而參考型別的資料存放區在記憶體中的堆中,可以不同的變數或程式共同使用同一個位置的資料。當資料從一個參考型別的變數傳遞到另一個相同類型的變數時,只是把這個變數的引用地址傳遞給新的變數,同時引用當前堆中儲存的資料。

 

比如:類(class),string 屬於參考型別,結構(struct),int屬於實值型別。

 

 


Q

A:

靜態變數分為全域靜態變數和局部靜態變數。

全域靜態變數,與全域變數有區別,雖然同為靜態儲存方式,但是全域靜態變數失去了全域的“普遍含義”,它所指的“全域”僅限制在本檔案裡,而全域變數卻是各個檔案可見的

靜態局部變數,與局部變數是有區別的:

1.         儲存方式不同,前者為靜態儲存方式,後者為動態儲存裝置方式;

2.         範圍是一致的,只局限於“模組”或者“程式碼片段”;

靜態局部變數的最大特點就是作用類似於全域變數,而範圍類似於局部變數,在出了某個函數或者程式碼片段後,生命週期繼續延續,與應用程式共生死,當再次回到這個函數或者程式碼片段時,上次走出時的值仍然儲存到了現在,所以一般人用它來做計數器。

 

另外,還有一些需要說明的,靜態變數作為類的成員變數時,或者類中有靜態成員函數時,這個時候,靜態部分(變數和函數)已經不再屬於對象了,而僅僅屬於類本身了,類沒有執行個體化,那麼靜態函數和靜態變數同樣可以調用;

所以經常在建構函式裡對一些靜態成員變數遞增,來實現對象個數的計數。

例:

class StaticAndInstance
{
 static int classVar;
 int instanceVar;
 static void setClassVar(int i)
 {
  classVar=i;
 }
 static int getClassVar()
 {
  return classVar;
 }
 void setInstanceVar(int i)
 {
  classVar=i;
  instanceVar=i;
 }
 int getInstanceVar()
 {
  return instanceVar;
 }
}
public class StaticAndInstanceTest
{
 public static void main(String args[])
 {
  StaticAndInstance m1=new StaticAndInstance();
  StaticAndInstance m2=new StaticAndInstance();
  m1.setClassVar(1);
  m2.setClassVar(2);
  System.out.println("m1.classVar="+m1.getClassVar()+"m2.classVar="+m2.getClassVar());
  m1.setInstanceVar(11);
  m2.setInstanceVar(22);
  System.out.println("m1.InstanceVar="+m1.getInstanceVar()+"m2.InstanceVar="+m2.getInstanceVar());
 }
}

結果為:m1.classVar=2  m2.classVar=2

m1.InstanceVar=11 m2.InstanceVar=22

 


 
Q

 

 

 


Q

A:

通過url傳遞參數

 


Q

A:

There are generally four of them:

·         Data Store: Where the data resides. This can be a relational database, an XML file, a text file, or some other proprietary storage system.

·         Data Access Layer: The code that takes care of retrieving and manipulating the raw data saved in the data store.

·         Business Logic Layer: The code that takes the data retrieved by the Data Access tier and exposes it to the client in a more abstracted and intuitive way, hiding low-level details such as the data store's schema, and adding all the validation logic that ensures that the input is safe and consistent.

·         Presentation Layer (User Interface): The code that defines what a user should see on the screen, including formatted data and system navigation menus. This layer will be designed to operate inside a web browser in the case of ASP.NET, but some applications might use Windows Forms at this layer.


 

Q

A:

好象可以直接傳遞。

HyperLink1.NavigateUrl = "Forum.aspx?a=" + "中文";

也可以這樣解碼傳遞

string urlFmt = "Forum.aspx?a={0}";

HyperLink1.NavigateUrl = string.Format(urlFmt, Server.UrlEncode("測試中文"));

 

Q :Response.Flush()

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.