문제

사용자 이름을 레이블로 설정하려고하지만 이것이 올바른 구문인지 확실하지 않습니다.
다음 마크 업을 추가하면 구문 분석 오류가 발생합니다

<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>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top