Menampilkan UserControl (.ascx) Secara Dinamis
Usercontrol (.ascx) paling umum digunakan untuk menampilkan header dan footer. Bagaimana menampilkan usercontrol yang berbeda-beda di suatu halaman sesuai kondisi tertentu. Misalnya ketika user A login, maka usercontrol A yang di load, user lainnya menggunakan usercontrol B.
1. Tambahkan reference di halaman page (.aspx) di bagian page directive.
<%@ Reference Control="~/WebUserControlA.ascx" %> <%@ Reference Control="~/WebUserControlB.ascx" %>
2. Tambahkan control placeholder di halaman page. Placeholder ini digunakan sebagai lokasi dimana usercontrol yang di load akan diletakkan.
<asp:PlaceHolder ID="placeholder1" runat="server"></asp:PlaceHolder>
3.Di code, tambahkan kode di bagian Page_Init. Misal userlogin adalah userA, maka webusercontrolA yang diload.
Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
If Session("USERLOGIN").ToString() = "userA" Then
Dim head As WebUserControlA = DirectCast(Page.LoadControl("~/WebUserControlA.ascx"), WebUserControlA)
placeholder1.Controls.Add(head)
Else
Dim head As WebUserControlB = DirectCast(Page.LoadControl("~/WebUserControlB.ascx"), WebUserControlB)
placeholder1.Controls.Add(head)
End If
End Sub
Usercontrol akan di load di placeholder. Semoga bermanfaat.
Posted on 1 November 2011, in ASP.net and tagged Dinamis, User Control. Bookmark the permalink. Tinggalkan sebuah Komentar.
Tinggalkan sebuah Komentar
Komentar (1)