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];
ユーザー名に\が含まれていることを確認する必要があります。そうしないと、エラーが発生します。
他のヒント
User.Identity.Nameをいくつかの文字列に変換しようとしている場合、char []をstring []に変更するように見えますが、うまくいくはずです。
<!> lt;%#%<!> gt;構文はデータバインディング用です。それはあなたがしたいことのために働くでしょう、あなたは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>
これも機能します。
<asp:Label ID="userNameLabel" runat="server">
<%= User.Identity.Name %>
</asp:Label>
所属していません StackOverflow