2012-04-15 42 views

回答

1

你可以這樣說:

<%= Session["username"] %> 

如果你使用ASP.NET 4.0可以自動HTML通過使用此語法編碼值:

<%: Session["username"] %> 
1

把asp.net標籤頁面上,像

<asp:Label id=lblUserName runat="server" /> 

和你的代碼隱藏頁面上,在Page_Load事件或在適當的情況下

lblUserName.Text = String.Format("welcome back {0}",Session["username"]); 
1

使用標籤和分配用戶名它

在ASPX(HTML代碼)

<asp:Label id=lblUserName runat="server" /> 

在aspx.cs(代碼後面)

lblUserName .Text = "Welcome back"+Session["username"].ToString(); 
+0

我想我會給編譯器錯誤像lblWelcome沒有定義 – hkutluay 2012-04-15 07:39:17

+0

對不起現在檢查我用正確的名稱替換它 – Adil 2012-04-15 07:40:17

1

正確的方法。

  1. 首先是檢查值爲null
  2. 其次,因爲你把它寫在頁面上,使用的HTMLEncode以確保你避免任何類型的注射,或者有問題的。

現在,如果您喜歡使用文字或標籤,或者直接寫下它,取決於您。如果你打算把它放在UpdatePanel裏面,你必須使用Literal。

現在,如果您使用文字避免設置ViewState從它獲得空間,以太方式您需要將其設置在PageLoad。它將是

<asp:Literal runat="server" id="txtUserName" EnableViewState="false" /> 

和頁面加載。

if(Session["username"] != null) 
{ 
    Debug.Assert(Session["username"].ToString.Length > 0 , "Check out why I have zero user name"); 
    txtUserName.Text = Server.HTMLEncode(Session["username"].ToString); 
} 
3

在ASP.NET頁面語法中有一個簡單的「快捷方式」Response.Write

<%= Session["username"] %> 

在功能上等同於

<% Response.Write(Session["username"]); %> 

通常要編碼會話變量使用Html.Encode HTML,以防它們包含不在接受範圍HTML字符。如果您使用的是ASP.NET 4,則可以使用<%: %>,這相當於Response.Write(Html.Encode(string))

相關問題