كيفية تعيين تسمية نص ASP.NET لاسم المستخدم الحالي

StackOverflow https://stackoverflow.com/questions/1609952

سؤال

وأنا أحاول أن تعيين اسم المستخدم إلى التسمية، ولكن ليس متأكدا مما إذا كان هذا هو بناء الجملة الصحيح - منتديات إضافة ترميز التالية يولد خطأ تحليل

<asp:Label ID="userNameLabel" runat="server"
     Text='<%= User.Identity.Name.Split(new char[]{'\\'})[1] %>' />

والمشكلة الرئيسية هنا هي أن، أنا لا أعرف ما <%= %> أو <%# %> تسمى، وبالتالي لا يمكن جوجل / بنج.

ويمكن للشخص لي نقطة في الاتجاه الصحيح؟

هل كانت مفيدة؟

المحلول

وأنا شخصيا أود أن تعيين نص التسمية في التعليمات البرمجية خلف في Page_Load

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

وسوف تحتاج إلى التأكد من أن هناك \ في اسم المستخدم أو سوف تحصل على خطأ.

نصائح أخرى

إذا كنت تحاول تحويل User.Identity.Name إلى زوجين من السلاسل، فإنه يبدو تغيير شار [] لسلسلة []، وينبغي أن تفعل خدعة.

وبناء الجملة <٪ #٪> هو لربط البيانات. وسوف تعمل على ما تريد القيام به، وسوف تحتاج للتأكد من أن 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