2012-07-09 101 views
1

我確定這是微不足道的,但爲什麼Windows內置身份驗證用戶不在我的ASP.NET頁面內聯?aspx頁面中函數返回值後面的打印代碼

代碼後面功能:

public string GetCurrentUserWindowsLogin() 
{ 
    string windowsLogin = Page.User.Identity.Name; 
    int hasDomain = windowsLogin.IndexOf(@"\"); 
    if (hasDomain > 0) 
    { 
     windowsLogin = windowsLogin.Remove(0, hasDomain + 1); 
    } 
    return windowsLogin; 
} 

內聯代碼:

<div class="loginDisplay">[ <%#GetCurrentUserWindowsLogin() %> ]</div> 

回答

2

<%#... %>用於Binding ExpressionsEvalBind

所以,如果你撥打Page.DataBind()page_load它應該工作。

的另一種方式,應該工作是使用code render blocks其運行正常代碼:

<% GetCurrentUserWindowsLogin() %>

或用於信息小塊的<%= %>結構:

<%= GetCurrentUserWindowsLogin() %>

+0

高的搜索後,我發現了節目評估和演示值主要原因,是的Page.DataBind()。 – 2014-08-08 09:33:23