2012-12-27 70 views
-1

有沒有辦法讓aspx頁面中的當前用戶,html定義的頁面? (我知道如何在aspx.cs頁面中獲得)獲取當前用戶Asp。 Net C#

+3

ASP模型的要點是你*不從標記頁面訪問這些信息,你把這種想法放在代碼後面。 – Servy

+0

我正在使用webForms – Assaf

+0

您需要在代碼中執行此操作,在Page_Load()方法中執行以下操作var User = System.Web.HttpContext.Current.User; – MethodMan

回答

3

在你希望顯示的aspx中使用下面的代碼塊。

<%= System.Environment.UserName %> 

有關更多信息,請參閱ASP.NET "special" tags

2

使用代碼標籤

<%= YourMethodToGetTheCurrentUser() %> 
+0

這樣會更好,因爲如果出於任何原因以不同的方式管理身份驗證/授權(不使用User.Identity.Name),您可以稍後進行修改。我將使用一個名爲UserName的屬性和一個getter和setter。 –

6

這應該工作:

<%= Page.User.Identity.Name %> 

Page.User Property

+0

沒有工作,我在查詢中使用它。還有其他建議嗎? – Assaf

+0

做一個谷歌搜索也做這個代碼在你的頁面後面加載捕獲用戶/域應該返回然後做一個拆分「\\」到一個數組和用戶名應該是數組[0] – MethodMan

0
<%= System.Web.HttpContext.Current.User.Identity.Name%> 
0

還有另一個問題:

<%= HttpContext.Current.User.Identity.Name %> 
2

您可以從代碼隱藏文件訪問任何publicprotected變量,在它的.aspx文件由這些字符包裹代碼:

<% if(PublicObject.Property > 0) { %> 
    <p>You can write normal HTML, or write strings like this: <%= PublicObject.Property %></p> 
<% } %> 

<% %>讓我們添加邏輯或命令插入到頁面中。您可以使用它來添加for循環或if語句。 <%= %>用於將內容直接寫入頁面。這用於打印變量的內容。