Rudy Setyo Purnomo

foundations and fundamentals
  • IIS Remote Administration dan IIS Database Manager

    Fitur baru dari IIS Manager dari beberapa jajaran IIS Extensions yang menarik adalah IIS Database Manager. Untuk menggunakan IIS Database Manager ini, operator harus memiliki akses ke IIS baik secara local maupun remote. Dengan bantuan IIS Remote Administration, IIS Database Manager pun dapat diakses dari remote area.

    Tentunya kita harus mengenal terlebih dahulu fitur dari IIS Remote Administration yang sudah tidak asing lagi, beberapa diantaranya adalah saya kutip dari website iis.net:

    • Remotely manages IIS 7 from Windows 7, Windows Vista, Windows XP, and Windows Server 2003
    • Connects directly to a Web server, Web site, or Web application
    • Installs even when you don't have IIS 7.0 on the local machine
    • Allows multiple simultaneous connections
    • Supports delegated administration to Web sites and Web applications so owners can connect to and manage their own site directly
    • Familiar and easy to use administration tool
    • Supports HTTP over SSL for more secure management
    • Automatically downloads features to the local IIS Manager for Remote Administration console to match features newly installed on the remote Web server.

    Pada point terakhir yaitu adanya download fitur otomatis pada lokal IIS Manager ketika ada penambahan Extensions baru pada Web Server, contohnya penambahan Extensions Database Manager, maka secara otomatis IIS Manager lokal akan melakukan download assembly untuk melakukan tugas Database Manager tersebut.

    iisdbmanager

    Sedangkan langkah-langkah untuk melakukan administrati IIS secara remote sangat mudah sekali, langkah pertama adalah download dan install IIS Manager versi 7.0 dari website Microsoft, pilih sesuai arsitektur OS anda.

    32 bit (x86) - http://go.microsoft.com/?linkid=9655671
    64 bit (x64) - http://go.microsoft.com/?linkid=9655672

    Buka IIS Manager dan pilih koneksi yang sesuai dengan informasi dari Server Administrator, contoh disini adalah Connect to a Site…

    remoteiis4

    Kemudian masukkan nama server atau IP address dari server tersebut, bisa juga untuk menuliskan nama domain dari website yang akan kita remote administrasinya.

    remoteiis5

    Masukkan username beserta password untuk melakukan remote administrasi. Username dan password ini haruslah sudah diberikan hak akses ke website oleh Server Administrator.

    remoteiis9

    Pada langkah selanjutnya, akan ada konfirmasi Server Certificate, ini karena WMSVC service belum disertifikasi, namun tidak masalah, untuk sementara accept saja, klik connect.

    remoteiis6

    Jika koneksi remote berhasil, maka tampilan yang akan didapatkan yaitu permintaan untuk mengisikan nama website sebagai referensi kedepannya.

    remoteiis7

    Setelah tombol Finish ditekan, IIS Manager akan menawarkan add on assembly jika pada IIS Server ada penambahan Extensions, sebagai contohnya kita akan mencoba IIS Database Manager, maka pada IIS Manager akan muncul permintaan untuk menginstall add on Database Manager assembly.

    iisdbmanager

    IIS Remote Administration siap digunakan.

    remoteiis8

     

    Kemudian untuk fitur IIS Database Manager, setelah proses koneksi IIS Remote Administration berhasil, beserta instalasi add on tambahan yaitu Database Manager assembly, pilih Connection Strings pada bagian ASP.NET, Connection Strings ini tidak lain adalah Connection Strings yang ada pada web.config aplikasi ASP.NET.

    Connection Strings

    Buka fitur Connection Strings untuk memodifikasinya dan klik "Add...".

    Add Connection Strings

    Isi Connection Strings dengan informasi database.

    Edit Connection Strings

    Jika semua informasi database yang diisikan sudah benar, buka fitur Database Manager pada bagian Management.

    Database Manager

    IIS Manager 7.0 sekarang siap digunakan untuk mengolah database anda berdasarkan Connection Strings yang diisikan.

    IIS DB Manager

    Share this post: | | | |
  • Changeable SyntaxHighlighter Theme on BlogEngine.NET using Extension

    Alex Gorbatchev create a great tool, write on JavaScript, to highlight our code on blog posting. But how to implement SyntaxHighlighter on every post in our BlogEngine.NET? There is a good Windows Live Writer Plugin by David Pokluda that implement SyntaxHighlighter into BlogEngine.NET using the Extension.

    But the extension by Pokluda doesn’t have the ability to change the SyntaxHighlighter Theme, by today (30 July 2009), SyntaxHighlighter have 6 built in theme, please check at the web. Therefore i want to extend the extension by Pokluda to have an ability to change the theme.

    Basically, to do this we need a setting for the extension, using ExtensionSettings class would be the answer.

    // Code by Rudy Setyo Purnomo
    // http://rudysetyo.it
    
    ExtensionSettings settings = new ExtensionSettings(“SyntaxHighlighter”);
    
    settings.AddParameter(
        "shTheme", 
        "shTheme", 
        50, 
        true, 
        true, 
        ParameterType.RadioGroup);
    settings.AddValue(
        "shTheme", 
        new string[] 
            { 
                "shThemeDefault",
                "shThemeDjango", 
                "shThemeEmacs", 
                "shThemeFadeToGrey",
                "shThemeMidnight",
                "shThemeRDark"
            }, 
        "shThemeDefault");
    
    settings.Help = "SyntaxHighlighter Theme";
    
    ExtensionManager.ImportSettings(settings);

    If you see the original code by Pokluda, you’ll see that the AddStylesheetToPage method only have one parameter, i add one more parameter to set the Theme.

    // Code by Rudy Setyo Purnomo
    // http://rudysetyo.it
    
    private void AddStylesheetToPage(Page page, string theme)
    {
        HtmlLink css = new HtmlLink();
        css.Attributes["type"] = "text/css";
        css.Attributes["rel"] = "stylesheet";
        css.Attributes["href"] = GetAbsoluteFromRelativeUrl("SyntaxHighlighter/Styles/shCore.css");
        page.Header.Controls.Add(css);
    
        css = new HtmlLink();
        css.Attributes["type"] = "text/css";
        css.Attributes["rel"] = "stylesheet";
        css.Attributes["href"] = GetAbsoluteFromRelativeUrl("SyntaxHighlighter/Styles/" + theme + ".css");
        page.Header.Controls.Add(css);
    }
    
    // and use this code to receive Theme name from setting parameter.
    
    string theme = _settings.GetSingleValue("shTheme");

    These screenshot is the setting screen to change the theme

    setting

    And the is the 6 theme:

    shThemeDefault
    shThemeDefault

    shThemeDjango
    shThemeDjango

    shThemeEmacs
    shThemeEmacs

    shThemeFadeToGrey
    shThemeFadeToGrey

    shThemeMidnight
    shThemeMidnight

    shThemeRDark
    shThemeRDark

    You could find the full code here, put the SyntaxHighlighter.cs at App_Code/Extensions folder.

    Share this post: | | | |
    Posted Jul 31 2009, 12:11 AM by rudysetyo with 1 comment(s)
    Filed under:
  • Free IIS7 dan .NET 3.5 SP1 hosting

    Sesuai dengan informasi dari mas Narenda melalui mailing list beberapa hari yang lalu, teknologi Microsoft untuk ASP.NET dapat dicoba langsung, lokasi server ada di indonesia, tentu saja akses akan lebih cepat.

    Bahkan ada paket free untuk POC aplikasi dari teman-teman semua. Silahkan simak di http://geeks.netindonesia.net/blogs/rudysetyo/archive/2009/03/06/1000-free-asp-net-web-hosting.aspx.

    Jika ada beberapa rekan yang belum terbiasa dengan sistem kami, silahkan ikuti link http://support.erudeye.net/KB/a2/how-to-sign-up-hosting-account.aspx. Selanjutnya semua tutorial mengenai hosting akan di posting di portal tersebut.

    Mohon maaf jika ada keterlambatan launching ini karena beberapa kendala teknis maupun non teknis.

    Share this post: | | | |
  • 1000 account ASP.NET Web Hosting gratis.

    Apa yang anda dapatkan?

    • 100MB Disk space.
    • .NET 3.5 SP1 on IIS7.
    • 2GB Data traffic.
    • 1 Domain quota.
    • 1 SQL Server 2008 Database.
    • No email is provided.
    • No DNS Zone editor.
    • No Add-on.
    • No support at all.

    GRATIS, benarkah? kami ingin mendukung perkembangan IT di Indonesia, sudah banyak para pengembang aplikasi di Indonesia namun kurang dikenal di dunia luar. Untuk itu kami ingin memberikan stimulan berupa layanan gratis supaya pengembang aplikasi di Indonesia memiliki tempat untuk mengekspresikan hasil karya mereka. Khususnya adalah pengembang aplikasi web menggunakan platform .NET Framework, kami coba untuk menawarkan teknologi terbaru dari Microsoft dengan IIS 7 yang ditanam di Windows Server 2008, SQL Server 2008 serta .NET Framework 3.5 SP1.

    Seperti yang sudah saya sampaikan, kami ingin memberikan servis kepada komunitas, untuk itu segalanya kami kembalikan juga ke komunitas. Dalam arti kami tidak memberikan dukungan dan layanan baik yang berbentuk teknikal maupun non teknikal. Kami hanya akan menyediakan paket hosting, panduan awal dan beberapa tutorial. Ketika menemukan masalah atau ada pertanyaan mengenai paket hosting gratis ini, silahkan untuk cek di panduan awal dan tutorial. Atau jika panduan dan tutorial belum menyelesaikan masalah, silahkan untuk mencari di mesin pencari, MSDN Library atau bisa berinteraksi dengan rekan-rekan lain di komunitas kita tercinta, netindonesia.net.

    Program ini akan berlaku selama 1 tahun, informasi lebih lengkap silahkan kunjungi website resmi di http://www.erudeye.net. Jika tidak ada halangan, program ini akan segera bisa dinikmati mulai tanggal 1 April 2009.

    PENTING! Untuk memastikan bahwa setiap member hanya memiliki 1 free account ini dan supaya teman yang lain bisa ikut menikmati layanan ini, mohon untuk mengirimkan scan KTP setelah signup dan menerima email dari billing.

    Share this post: | | | |
  • Server di Indonesia, mau?

    Informal information dari saya, kalau ada yang ingin coba server baru erudeye yang ada di gedung cyber, silahkan...

    Control Panel : http://my.erudeye.net
    Username : demo
    Password : demo2009

    Tunggu informasi selanjutnya ;)

    Share this post: | | | |
  • late binding Visual Studio 2008 to SQL Express

    Sebenarnya "late binding" tersebut bukan bahasa teknik, namun lebih ke arah trouble shooting untuk koneksi otomatis dari Visual Studio 2008 ke SQL Express yang kita install terpisah dari installer Visual Studio.

    Seperti biasa saya kurang suka menggunakan SQL Express dalam development, setelah install Visual Studio, langkah selanjutnya yang saya lakukan biasanya adalah install SQL Server Developer Edition. Namun baru-baru ini saya memerlukan SQL Express untuk keperluan try and error berkaitan dengan rencana .NET Hosting.

    Saya butuh SQL Express karena untuk mencoba connectionstring dengan style AttachDBFileName harus menggunakan SQL Express, otherwise akan muncul error message seperti berikut ini:

     

    sqlerror

     

    OK, seharusnya setelah melihat message tersebut saya install SQL Server Express 2005, tapi karena ingin sekalian mencoba SQL Server Express 2008, akhirnya saya install SQL Server Express 2008 x64 dengan default instance "SQLExpress". Done installing. Coba lagi add database untuk type attach ini, dan ternyata masih sama errornya karena memang butuh yang versi 2005. Akhirnya "terpaksa" install SQL Server Express 2005 x64 dengan instance "express2005". Done installing. Coba lagi... WHAT?! masih error... ternyata Visual Studio punya settingan untuk koneksi ke SQL Server dengan default instance which is "SQLExpress" sedangkan instance SQLExpress saya adalah SQL Server Express 2008. Untuk "binding" Visual Studio ke instance SQL Server yang kita inginkan, bisa dilakukan dengan cara melalui Tools>Options>Database Tools>Data Connections. Untuk lebih jelasnya, simak gambar berikut ini:

     

    connectsql

     

    Akhirnya setting instance disitu saya arahkan ke instance SQL Server Express 2005. Done!

    Yang cukup anehnya adalah Visual Studio 2008 sudah SP1 namun tetap belum bisa terkoneksi dengan SQL Server Express 2008 :)

    Share this post: | | | |
  • erudeye is now Microsoft Certified Partner

    Lebih tepatnya "soon", karena untuk menjadi Microsoft Certified Partner ini selain memenuhi poin-poin kompetensi juga harus membayar sejumlah uang, tahap pembayaran itulah yang saat ini sedang di arrange.

    partner announce

    Seperti yang ada di gambar, poin yang diperlukan untuk menjadi Microsoft Certified Partner sudah terpenuhi 66 poin dari 50 poin yang diperlukan, tahap akhir untuk finalisasi partner ini adalah "Pay Now" di bagian paling atas.

    Kompetensi yang diambil oleh erudeye pada program partner ini adalah application development, saat ini erudeye sudah mendapatkan kompetensi sebagai "Mobility Solutions Competency" dan kedepannya berpotensi untuk menjadi "Custom Development Solutions Competency".

    partner announce2

    Kompetensi yang erudeye pilih dalam partner program ini berbeda dengan kompetensi yang selama ini dikenal oleh teman-teman semua, yaitu Hosting Solutions. Namun walaupun kompetensi erudeye sekarang di application development solutions, erudeye tidak melupakan jatidiri sebagai hosting provider, erudeye tetap commit dengan menyediakan service application hosting, web hosting dan lebih khususnya adalah ASP.NET Hosting, bahkan dalam waktu dekat erudeye akan memasarkan server indonesia yang mudah-mudahan dalam waktu dekat bisa announce ke komunitas.

    Terima kasih kepada partner dan customer yang telah meluangkan waktu untuk memberikan referensinya bagi erudeye dan juga team erudeye yang telah meluangkan waktu untuk semua pencapaian. InsyaAllah kedepannya erudeye bisa lebih banyak memberi andil untuk komunitas dan khususnya bangsa Indonesia.

    Share this post: | | | |
    Posted Jan 08 2009, 09:50 AM by rudysetyo with 8 comment(s)
    Filed under:
  • ASP.NET Membership and Role Provider using Oracle database part 1

    Seperti yang kita ketahui bahwa di ASP.NET 2.0 sudah Built-In Providers untuk membantu kerja developer.

    • Membership
    • Role management
    • Site map
    • Profile
    • Session state
    • Web events
    • Web Parts personalization
    • Protected configuration

    Yang akan saya bahas disini adalah Membership Provider dan Role Provider,

    Membership
    System.Web.Security.ActiveDirectoryMembershipProvider
    System.Web.Security.SqlMembershipProvider

    Role management
    System.Web.Security.AuthorizationStoreRoleProvider
    System.Web.Security.SqlRoleProvider
    System.Web.Security.WindowsTokenRoleProvider

     

    OK, bagaimana dengan developer yang menggunakan Oracle untuk menyimpan persistent state tersebut? Sudah pasti ASP.NET menyediakan API untuk itu, contohnya untuk Membership Provider, jika merujuk pada http://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspx maka Inheritance Hierarchy dari System.Web.Security.SqlMembershipProvider adalah:

    System.Object
      System.Configuration.Provider.ProviderBase
        System.Web.Security.MembershipProvider
          System.Web.Security.SqlMembershipProvider

    Dari informasi tersebut, sudah cukup untuk membuat Membership Provider sendiri, katakanlah Erudeye.Web.Security.OracleMembershipProvider, dan Inheritance Hierarchy nya seperti ini:

    System.Object
      System.Configuration.Provider.ProviderBase
        System.Web.Security.MembershipProvider
          Erudeye.Web.Security.OracleMembershipProvider

    Done, untuk Provider nya sudah ada gambaran, kemudian bagaimana dengan persistent datanya? Again, kita "nyontek" struktur database milik SQL Server Provider.

    aspnetProviderSchema

    Tabel-tabel di atas tidak semuanya digunakan oleh Membership dan Role Provider, tabel di atas adalah tabel keseluruhan dari ASP.NET 2.0 Provider. Ketika akan "mencontek" skema database tersebut, tentu saja tidak cukup dengan melihat skema di atas, kita perlu data lengkap dari skema tersebut. Query dari skema di atas dapat kita temukan di folder C:\Windows\Microsoft.NET\Framework\v2.0.50727 dengan filename yang berakhiran .sql. Dari query tersebut dapat kita buat versi Oracle nya. Contoh untuk tabel aspnet_Users dalam versi Oracle nya:

    ora_aspnet_users

    Provider sudah ada gambaran dan Persistent sudah siap, what next on part 2? Build an Oracle Provider and Provider Helper for Oracle.

    Share this post: | | | |
  • SQL Server error message no 1105 on hosting area

    Weekend ini saya habiskan untuk memindahkan 2 web applicationnya dari server hosting satu ke lainnya. Untuk memindahkan web application, yang paling crucial adalah memindahkan database, seperti yang sudah kita ketahui bahwa backup restore atau attach database di shared server bisa menimbulkan security thread karena semua object database yang di restore atau di attach akan ikut, termasuk role object.

    Maka dari itu setiap hoster biasanya hanya memperbolehkan user untuk melakukan SSIS atau execute query hasil dump database lain. Microsoft team sudah menyediakan tool buat user maupun hoster, silahkan cek di codeplex.

    OK, singkatnya setelah kita dump database menggunakan tool Database Publishing Wizard tersebut, langkah selanjutnya adalah run the query against database baru di server, hati-hati dengan query time out. Permasalahan muncul ketika running query tersebut, error message yang muncul adalah

    "Could not allocate space for object '%.*ls' in database '%.*ls' because the '%.*ls' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup."

    Lebih lengkapnya ada di http://msdn.microsoft.com/en-us/library/aa258767(SQL.80).aspx. Setelah saya cek fisik, ternyata database nya memang di cap hanya sebesar 50MB.

    space

    Limit database ini ada ketika database di create, mungkin menggunakan SMO, dengan melihat kapasitas hosting yang dipilih. Disini package nya adalah 50 MB, so database yang di create juga sebesar itu pula.

    Bisa diambil kesimpulan ketika akan melakukan dump database ke database yang baru, pastikan unrestricted file growth jika file database anda besar, contact your administrator to ensure that.

    Share this post: | | | |
  • My 4th Amazon.com order has shipped

    my order at Amazon.com finally shipped, this book is fresh from the oven and fresh from the C# "Chef", Anders Hejlsberg, the language’s architect, and his colleagues, Mads Torgersen, Scott Wiltamuth, and Peter Golde. So why i call it fresh from the oven? because it is, the book is published on October 18, 2008, yes, last saturday when most of you still enjoying the week end Big Smile

    More info about the book goes here.

    amazon

     

     

     

     

     

     

     

     

     

     

     

     

    Let's back to basic, learn the fundamental to hardening my foundation.

    Share this post: | | | |
    Posted Oct 20 2008, 03:56 PM by rudysetyo with 6 comment(s)
    Filed under:
  • mstsc -console

    Sering kali ketika sedang ada trouble di server production saya menggunakan fasilitas RDP(Remote Desktop Protocol) di Windows XP dengan mengetikkan "MSTSC -Console" di run program atau command prompt. Saya memerlukan untuk masuk ke console karena scheduller yang berisi console application hanya dapat kita lihat window nya jika remote dengan console(Administrative Session), otherwise windownya tidak terlihat, hanya tampak di task manager saja. Selain itu dengan console bisa "kick" user lain yang login dengan username sama ;)

    Biasanya tampilan remote desktop pada Windows XP SP2 yang biasa saya gunakan seperti gambar berikut ini, ini adalah versi 5.2.

    Namun beberapa hari ini saya tidak bisa lagi akses remote ke server dengan console akses, ini terjadi sejak Windows XP saya update ke SP3. Dan tampilan dari Remote Desktop nya seperti gambar berikut ini, ini adalah versi 6.0 bawaan dari SP3. Pada versi 6.0 ini kita tidak bisa akses dengan parameter -console.


    Setelah menyelidiki mulai dari server hingga firewall, ternyata untuk RD versi 6.0 ini sudah tidak mendukung parameter -console, namun diganti dengan -admin.

    Untuk info lebih lengkapnya silahkan kunjungi blog berikut http://blogs.msdn.com/ts/archive/2007/12/17/changes-to-remote-administration-in-windows-server-2008.aspx.

    Share this post: | | | |
  • a "netTiers like" LINQ to SQL application

    VS2008

    Actually this is repost from my other blog on http://rudysetyo.it or http://weblogs.asp.net/rudysetyo, after today event on JCC, i feel i just wanna share this. Sorry for the language, next time i'll use bahasa on this blog. 

    Some of us maybe familiar with netTiers when building an application, it's really helping us to cut the development time, LINQ does cut the time also... No, i don't want to compare between netTiers and LINQ to SQL, although in some cases they're comparable... What i want to share here is how to make a simple data visualization using gridview, really simple coz we will use LINQ to accomodate the simpleness... What "simple" i'm talking about? commonly when we build a CRUD application, we use ADO.NET or DAAB to access the database, but in this case, ADO.NET was handled by LINQ.



    Familiar with the search control above? if you are new to that control, that is GridViewSearchPanel of netTiers. But what i'll show you is we'll create our own search to GridView exactly the same function as netTiers have.

        <form id="form1" runat="server">
        <div>
            Look for :
            <asp:DropDownList ID="DropDownList1" runat="server">
                <asp:ListItem>Code</asp:ListItem>
                <asp:ListItem>Description</asp:ListItem>
            </asp:DropDownList>
            Which :
            <asp:DropDownList ID="DropDownList2" runat="server">
                <asp:ListItem Value="0">Contains</asp:ListItem>
                <asp:ListItem Value="1">Ends With</asp:ListItem>
                <asp:ListItem Value="2">Starts With</asp:ListItem>
            </asp:DropDownList>
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:Button ID="Button1"
                runat="server" Text="Search" onclick="Button1_Click" />
            <asp:Button ID="Button2"
                runat="server" Text="Reset" onclick="Button2_Click" />
            <p></p>   
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="true">
            </asp:GridView></div>
        </form>

    1. Add an aspx page right exactly the same as above. 

    2. Add LINQ to SQL (.dbml), disobey what behind the dbml right now, we talk about it later, here is my dbml:  

     

    3. Go to your code behind, add this code and play it:

        protected void Page_Load(object sender, EventArgs e)
        {
            GridView1.DataSource = GetJobPrefix(0);
            GridView1.DataBind();
        }

        public IList<JobPrefix> GetJobPrefix(int rowStatus)
        {
            using (JobPrefixDataContext context = new JobPrefixDataContext())
            {
                return (from c in context.JobPrefixes
                        where c.RowStatus == rowStatus
                        select c).ToList();
            }
        }

        protected void Button1_Click(object sender, EventArgs e){}

        protected void Button2_Click(object sender, EventArgs e){}

     

    In my application, the aspx will render like this, at this point the search facility didn't worked yet.


     

    4. Next we'll create a method for searching and filtering.

        public IList<JobPrefix> GetJobPrefix(int rowStatus, string desc, string code, SearchOperator searchOperator)
        {
            using (JobPrefixDataContext context = new JobPrefixDataContext())
            {
                switch (searchOperator)
                {
                    case SearchOperator.contains:
                        return (from c in context.JobPrefixes
                                where c.RowStatus == rowStatus && c.JobPrefixDesc.Contains(desc) && c.JobPrefixCode.Contains(code)
                                select c).ToList();
                        break;
                    case SearchOperator.endswith:
                        return (from c in context.JobPrefixes
                                where c.RowStatus == rowStatus && c.JobPrefixDesc.EndsWith(desc) && c.JobPrefixCode.EndsWith(code)
                                select c).ToList();
                        break;
                    case SearchOperator.startswith:
                        return (from c in context.JobPrefixes
                                where c.RowStatus == rowStatus && c.JobPrefixDesc.StartsWith(desc) && c.JobPrefixCode.StartsWith(code)
                                select c).ToList();
                        break;
                    default:
                        return (from c in context.JobPrefixes
                                where c.RowStatus == rowStatus && c.JobPrefixDesc.Contains(desc) && c.JobPrefixCode.Contains(code)
                                select c).ToList();
                }
            }
        }

        public enum SearchOperator
        {
            contains = 0,
            endswith = 1,
            startswith = 2,
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            switch (DropDownList1.SelectedValue)
            {
                case "Code":
                    GridView1.DataSource = GetJobPrefix(0, string.Empty,TextBox1.Text,(SearchOperator)Convert.ToInt32(DropDownList2.SelectedValue));
                    GridView1.DataBind();
                    break;
                case "Description":
                    GridView1.DataSource = GetJobPrefix(0, TextBox1.Text, string.Empty, (SearchOperator)Convert.ToInt32(DropDownList2.SelectedValue));
                    GridView1.DataBind();
                    break;
            }
           
        }

        protected void Button2_Click(object sender, EventArgs e)
        {
            GridView1.DataSource = GetJobPrefix(0);
            GridView1.DataBind();
        }

    Ok, that's it. When i try to filter the data using keyword "in" in the Description(JobPrefixDesc) field with the "Contains" method, the aspx will render like this (you could try the "Ends With" and "Starts With" by yourself) 

      

     

      Really simple isn't it? Laughing build our own "netTiers like" GridViewSearchPanel using LINQ to SQL. Please enjoy...

    kick it on DotNetKicks.com
    Share this post: | | | |
    Posted Mar 04 2008, 11:38 PM by rudysetyo with no comments
    Filed under: , ,