asp.net 레이블 텍스트를 현재 사용자 이름으로 설정하는 방법
-
05-07-2019 - |
문제
사용자 이름을 레이블로 설정하려고하지만 이것이 올바른 구문인지 확실하지 않습니다.
다음 마크 업을 추가하면 구문 분석 오류가 발생합니다
<asp:Label ID="userNameLabel" runat="server"
Text='<%= User.Identity.Name.Split(new char[]{'\\'})[1] %>' />
여기의 주요 문제는 <%= %>
또는 <%# %>
따라서 Google/Bing을 할 수 없습니다.
누군가 나를 올바른 방향으로 가리킬 수 있습니까?
해결책
개인적으로 나는 page_load의 뒤에있는 코드에 레이블의 텍스트를 설정합니다.
userNameLabel.Text = User.Identity.Name.Split('\\')[1];
사용자 이름에 A 가 있는지 확인해야합니다. 그렇지 않으면 오류가 발생합니다.
다른 팁
user.identity.name을 몇 개의 문자열로 변환하려는 경우 char []를 문자열 []로 바꾸는 것처럼 보이면 트릭을 수행해야합니다.
< %# %> 구문은 데이터 바인딩을위한 것입니다. 원하는대로 작동하며 Databind ()가 호출되도록해야합니다.
<asp:Label ID="userNameLabel" runat="server" Text='<%# User.Identity.Name.Split('\\')[1] %>' />
다른 옵션은 다음과 같습니다.
page_load 이벤트에서 텍스트 속성을 설정하십시오.
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>
이것은 또한 작동합니다.
<asp:Label ID="userNameLabel" runat="server">
<%= User.Identity.Name %>
</asp:Label>
제휴하지 않습니다 StackOverflow