2009-10-22 4 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

+0

@ ChristopheD : 대답으로 게시 한 경우 답변으로 귀하의 링크를 선택했습니다 ... – Sung

답변

3

는 개인적으로 당신은 사용자 이름에 \이 있는지 확인해야합니다

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

에 뒤에 코드에서 레이블의 텍스트를 설정합니다 또는 오류가 발생합니다.

+0

지금은 이것이 내가 정착 한 것입니다. 감사 RR – Sung

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>