2009-10-22 77 views
0

我試圖將用戶名設置爲一個標籤, 但不知道這是否是正確的語法 -
添加下面的標記生成分析錯誤如何ASP.NET標籤文本設置爲當前用戶名

<asp:Label ID="userNameLabel" runat="server" 
    Text='<%= User.Identity.Name.Split(new char[]{'\\'})[1] %>' /> 

這裏的主要問題是,我不知道是什麼<%= %><%# %>被調用,因此不能Google/Bing。

有人能指點我一個正確的方向嗎?

+1

這可能是有益的:http://naspinski.net/post/inline-aspnet-tags-sorting-them-all-out-(3c25242c-3c253d2c-3c252c-3c252c-etc).aspx – ChristopheD 2009-10-22 21:14:58

+0

@ ChristopheD:我會選擇你的鏈接作爲答案,如果你已經發布它作爲答案... – Sung 2009-10-22 22:38:07

回答

3

個人而言,我會在Page_Load中

userNameLabel.Text = User.Identity.Name.Split('\\')[1]; 

設置標籤的代碼文本後面,您需要確保有在用戶名一\,否則你會得到一個錯誤。

+0

現在,這就是我所解決的。感謝RR – Sung 2009-10-22 22:38:41

0

如果您試圖將User.Identity.Name轉換爲幾個字符串,它看起來將char []更改爲string [],應該這樣做。

0

<%#%>語法用於數據綁定。它會爲你想要做的工作,你將需要確保調用DataBind()。

<asp:Label ID="userNameLabel" runat="server" Text='<%# User.Identity.Name.Split('\\')[1] %>' /> 

其他選項包括:

設定從Page_Load事件中的Text屬性。

void Page_Load(object sender, EventArgs e) 
{ 
    userNameLabel.Text = User.Identity.Name.Split('\\')[1]; 
} 

在標籤周圍包裹標籤。

<asp:Label ID="userNameLabel" runat="server"><%= User.Identity.Name.Split('\\')[1] %></asp:Label> 
0

這也適用。

<asp:Label ID="userNameLabel" runat="server"> 
     <%= User.Identity.Name %> 
    </asp:Label> 
相關問題