Dzulqarnain Nasir

  • August 06, 2013

    jQuery Cascading Dropdown Plugin Hits Version 1.2.0

    Just a quick heads up, my jQuery Cascading Dropdown plugin is now updated!

    Here’s a list of changes.

    • Added onReady event that gets triggered when all dropdowns are fully initialised, including dynamically loaded dropdowns.
    • Added onChange event that gets triggered whenever a dropdown value changes.
    • Added source option property for defining dropdown data source. This can be an array, an array of objects, or a function.
    • Added setSelected method to set the selected dropdown item from code.
    • onChange event for a single dropdown now passes in the event object and the current values of required dropdowns.
    • Removed textKey and valueKey. Use the source option to handle Ajax data.
    • Methods can now be called using the plugin and passing in the method as string, along with additional parameters.

    Check it out on the project Github page.

  • June 26, 2013

    Saving/loading EPiServer plugin configuration settings using DDS

    I’m currently working on a small EPiServer plugin that requires the site admin to be able to save/load configuration settings from the Admin page.

    Fortunately, you can easily do this using EPiServer’s Dynamic Data Store (DDS), and it beats having to implement PlugInSettings that uses DataSets, which is just awfully painful to work with.

    Read more »
  • May 24, 2013

    Building an awesome responsive website

    I’ve recently worked (and at the time of writing, still working) on a project that emphasises on the mobile user experience. Our client wanted a site that looks good and functions well on mobile devices, and works just as well on the desktop.

    There are several approaches to developing for mobile users. You could provide device-specific templates, and have your web server serve the appropriate template based on the browser or device ID provided in the request header. This makes it easier to build templates that target specific devices, and provide the best user experience for those devices.

    EPiServer has included a neat feature, called Display Channels, that does exactly. All you, as a developer, have to do is include the necessary templates, and you’re all set to serve your mobile users.

    Read more »
  • February 08, 2013

    jQuery: 'Member not found' error in IE7

    Recently I’ve been working with a jQuery dropdown plugin called ddSlick Remablized, which is a plugin that allows you to have customised dropdowns on your page. However, after implementing it in one of my projects, I’ve discovered a bug in Internet Explorer 7, which looks something like this:

    Image of the 'Member not found' error

    Read more »
  • January 31, 2013

    RequireJS: Manage caching using ASP.NET assembly version

    RequireJS is a great library for dynamically loading JavaScript modules. It’s great in projects where you want to control what gets loaded where, and only load files that are essential to the page currently being displayed. On top of that, it has an awesome dependency control system. All you have to do is define what your module depends on, and it will automatically and dynamically load up all the necessary modules along with their dependencies, provided they’re defined.

    However, the problem with dynamically loading JavaScript files is that they have a tendency to get cached. While this is good for your visitors, because you don’t want them to have to repeatedly download the same JavaScript files, the problem is when you update your files.

    Read more »