質問

ユーザー名をラベルに設定しようとしていますが、 しかし、これが正しい構文かどうかはわかりません-
次のマークアップを追加すると解析エラーが生成されます

<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>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top