2012-05-14 30 views
0

我是一個asp.netnet初學者。我想使用Site.Master中Site.Master.cs中創建的一些對象。有沒有簡單的方法來做到這一點?如何將對象從.cs傳遞到.aspx

我知道如何在MVC中完成它(通過使用視圖(對象))。但我怎麼能在普通的ASP.netnet應用程序呢?

回答

2

我不明白你想要做什麼。

如果要插入一些字符串到標籤的標題,你可以把下面的東西在SiteMaster.master文件:的

<img src="<%= Page.ResolveUrl("~/") %>images/logo.png"> 

代替:

<img src="images/logo.png"> 

在第一種情況下,有將根據您的應用程序的根目錄計算出路徑。在第二種情況下會有相對的鏈接。這是因爲服務器將計算值Page.ResolveUrl(「〜」)函數並將其寫入src標記。

如果您正確地定義了它們,您可以使用任何其他方法類來做同樣的事情。但我不建議你在.aspx文件(或.master文件)中實現複雜的邏輯。因爲在測試和設計此類應用程序時可能會遇到很多困難。

還有其他服務器標籤

  1. <%%> - 嵌入式代碼塊是在頁面的呈現階段執行服務器代碼。塊中的代碼可以在當前頁面類中執行編程語句和調用函數。 Description and examples
  2. <%=%> - 對於顯示單個信息最有用。Description and examples
  3. <%#%> - 數據綁定表達式語法。 Description and examples
  4. <%$%> - ASP.NET表達式。 Description and examples
  5. <%@%> - 指令語法。 Description and examples
  6. <% - - %> - 服務器端註釋。 Description and examples
  7. <%:%> like <%=%> - 但是HtmlEncodes輸出(新的Asp.Net 4)。 Description and examples

另一種方式:您可以使用JSON一些數據發送到客戶端,然後用JavaScript處理它。看看this project

0

Site.Master.cs中的任何公共或受保護的屬性或方法均可從Site.Master訪問。

但如何調用aspx中的c#代碼?

有幾種方法,包括the <%= %> constructiondatabinding syntax

如果你解釋了你想要達到的目標,這將有所幫助。

+1

但如何調用aspx中的c#代碼? –

2

如果@Page指令在.aspx文件有Inherits="XYZ"其中XYZ是你.cs文件中聲明的類,您可以簡單地protected字段添加到您的類和值分配給它。您只需使用其名稱即可在.aspx文件中訪問它。

您還可以使用HttpContext.Items property單個請求中保持對象:

HttpContext.Current.Items["SavedItem"] = "hello world"; 

並在頁面中使用它:

<%= ((string)Context.Items["SavedItem"]) %> 
+0

我在嘗試你告訴我的時候出錯了,「不能將索引應用於」system.web.httpcontext「類型的表達式」 –

+0

@JoshuaHu我在第二行錯過了「.tems」。 –

相關問題