آموزش ASP.NET

آموزش ASP.NET متفاوت از آنچه جاهای دیگر می بینید!

آموزش ASP.NET

آموزش ASP.NET متفاوت از آنچه جاهای دیگر می بینید!

استفاده از کنترل‏های LoginView و LoginName

مایش متفاوت محتوی به کابران شناسایی شده و ناشناس لازم است؛ از این رو، نام کاربر جاری وارد شده نمایش داده می‏شود. بدان منظور،ASP.NET  دارای دو کنترل وب است که بدون نوشتن حتی یک خط کد این کار را انجام می‏دهند. کنترل LoginView یک کنترل وب بر اساس قالب است که نشان دادن داده‏های متفاوت به کاربران شناسایی شده و ناشناس را آسان می‏کند. LoginView دارای دو قالب از پیش تعریف شده است:

·    AnonymousTemplate: هرگونه تغییر در این قالب به کاربر ناشناس نمایش داده می شود.

·    LoggedInTemplate: این قالب به کاربر شناسایی شده نمایش داده می‏شود.

حالا باید کنترل LoginView را به Site.master اضافه کنیم. اجازه دهید به جای اینکه فقط کنترل LoginView را اضافه کنیم، ابتدا یک کنترل ContentPlaceHolder اضافه کرده و سپس کنترل LoginView را درون آن قرار دهیم. کدهای زیر را در محل مناسب (بالای TODO: Menu will go here...) قرار دهید:

<div id="navigation">

<asp:ContentPlaceHolder ID="LoginContent" runat="server">

</asp:ContentPlaceHolder>

TODO: Menu will go here...

</div>

سپس یک کنترل LoginView به LoginContent اضافه کنید. مطالب قرار داده شده در کنترل‏های ContentPalseHolder مسترپیچ به عنوان مطالب پیش فرض برای ContentPalseHolder در نظر گرفته می‏شوند. آن به این معنی است که صفحاتASP.NET  که از مسترپیج استفاده می‏کنند می‏توانند مطالب خودشان را برای هر ContentPalseHolder مشخص کنند و یا از مطالب پیش فرض مسترپیج استفاده کنند.

 

 

حالا باید کدهای شما به صورت زیر تغییر یافته باشد:

<div id="navigation">

<asp:ContentPlaceHolder ID="LoginContent" runat="server">

<asp:LoginView ID="LoginView1" runat="server">

</asp:LoginView>

<br /><br />

</asp:ContentPlaceHolder>

TODO: Menu will go here...

</div>

قالب‏های LoginView می‏تواند در قسمت Design تعریف شوند. در قسمت  Designerزبانه هوشمند کنترل LoginView را باز کنید. در AnonymousTemplate متن "Hello, stranger" را بنویسید؛ سپس یک کنترل HyperLink اضافه کرده و مشخصات Text و NavigateUrl آن را به ترتیب برابر "Log In" و "~/Login.aspx" قرار دهید.

پس از اینکه AnonymousTemplate را پیکربندی کردید به LoggedInTemplate بروید و متن "Welcome back," را در آن بنویسید. سپس یک کنترل LoginName از جعبه ابزار گرفته و به کنار متن بکشید.

حالا باید کدهای شما به صورت تغییر یافته باشد:

<div id="navigation">

<asp:ContentPlaceHolder ID="LoginContent" runat="server">

<asp:LoginView ID="LoginView1" runat="server">

<LoggedInTemplate>

Welcome back,

<asp:LoginName ID="LoginName1" runat="server" />

</LoggedInTemplate>

<AnonymousTemplate>

Hello, stranger.

<asp:HyperLink ID="lnkLogin" runat="server" NavigateUrl="~/Login.aspx">

Log In

</asp:HyperLink>

</AnonymousTemplate>

</asp:LoginView>

<br /><br />

</asp:ContentPlaceHolder>

TODO: Menu will go here...

</div>

با افزودن این کدها در تمام صفحات نام شخصی که شناسایی شده است، نمایش داده می‏شود.