Arsip Blog

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.

Asp.net: Dinamic Gridview

Sebelumnya saya telah menulis tentang pembuatan tabel dinamis. Tapi dalam penerapannya, saya banyak menemui kesulitan. Kemudian, berdasarkan saran teman, saya tidak lagi menggunakan asp-table untuk pembuatan tabel dinamis tapi menggunakan gridview. Salah satu kelebihan gridview, kita bisa mengambil informasi data tanpa memusingkan baris header ataupun footer. Header dan footer inilah yang cukup merepotkan jika menggunakan table. Kelebihan lain menggunakan gridview adalah, kita bisa menambahkan AJAX control kedalam control yang ada di dalam gridview.

Read the rest of this entry

ASP.net: Menambahkan Custom TableRow Secara Dinamis

Di projek yang sedang saya kerjakan, ada form isian yang dinamis. Secara default, form isiannya hanya tersedia 1 baris, tapi user bisa menambah baris baru, berapapun banyaknya. Yang menjadi masalah, banyak control yang tersedia di form isian tersebut. Jadi selain membuat tablerow baru, juga harus membuat beberapa control seperti textbox, dropdownlist dan checkbox secara dinamis. Dan bagaimana mendapatkan value dari setiap control.
Read the rest of this entry

Menambahkan IFRAME Secara Dinamis di ASP.net

Iframe biasa digunakan untuk menambahkan atau menempelkan page lain ke dalam page original kita. Dengan Iframe kita tidak perlu mengkhawatirkan page kita apabila ada perubahan atau update pada page yang ditempelkan.

Iframe dapat di tambahkan ke page dengan atau tanpa atribut runat=”server”.
Contoh:

<iframe id="framedata" style="width:500px; overflow:scroll;
height: 250px;" src="pagelain.aspx">
</iframe>

Jika ingin agar page yang di tampilkan di Iframe dibuat secara dinamis di code behind, maka kita perlu menghilangkan src=”pagelain.aspx” dan menambahkan atribut runat=”server” menjadi seperti berikut

<iframe id="framedata" style="width:500px; overflow:scroll;
height: 250px;" runat="server">
</iframe>

Kemudian di code behind, kita hanya perlu menambahkan kode berikut

'framedata adalah ID dari Iframe
framedata.Attributes("src") = "pagelain.aspx"

Atau, sebagai alternatif anda bisa menggunakan kode berikut

Dim frame1 As HtmlControl = CType(Me.FindControl("framedata"), HtmlControl)
frame1.Attributes("src") = "pagelain.aspx"

Semoga bermanfaat

Happy coding

Page-Title Dinamis di ASP.NET

Hari ini ada tugas untuk merubah/memodifikasi tampilan aplikasi yang aku buat bersama teman-teman. Rencananya, aplikasi tersebut akan di presentasikan ke client untuk demo. Tentu saja, karena aplikasi tersebut dibuat untuk client  lain, kami harus merubah tampilannya. Bagian designer sibuk membuat design tampilan baru, dan aku sibuk merubah tulisan-tulisan statis seperti page title dan copyright di bagian footer. Sebenarnya tidak susah, hanya saja karena pagenya cukup banyak, jadi merepotkan. Kalau saja bagian-bagian statis ini dulunya dibuat secara dinamis, misal membaca di web config kan jadi lebih mudah.

Read the rest of this entry