Posts

Simply Notes #3: Multiple File Upload in ASP.Net MVC

Image
Here is requirement I tripped into "Give me an option to upload multiple images which blah blah blah". Blah blah part is where it says do not use the easy way like input type multiple.

Below is the POCO for this sample which is the View Model

Checkout the UIHint attribute which will let us use DisplayFor or EditorFor in any of the views

To make this control reusable create a template File.cshtml which is type bound to custom Image type

The jQuery script will copy the input type file element and appends to the last file element whenever a file is selected to upload on the input element.

The Action here is to ModelBind image array to the action parameter

The Bind attribute takes care of the naming convention that takes behind the scenes when rendering the element. If you are using the template to render any element the framework will append the model property names of the nested elements. In this example it will render input element with name="PImage.File".

Finall…

Simply Notes #2: Single Click File Upload in ASP.Net

For those who hate to click more than required and like Scott Hanselman said 

"There are a finite number of keystrokes left in your hands before you die.

I definitely have very little left to spare and I am still writing this! - Check yours

Here is one way of doing file upload in single click


Keep fileupload control hidden using css stylesOn client click of the upload link button trigger the fileupload click event and return false so that server side click event is not firedNow bind an onchange event for the fileupload controlOnchange event trigger the server side click event of upload link buttonOn upload link server click save the file on server






Simply Notes #1: Setting up Source control with BitBucket using Git

Image
Bitbucket lets you create free unlimited private repositories. Here are the simple steps to setup a project and push it to Cloud.


Get this awesome native app for Git from here Now create a Repository on BitbucketOpen up Git Shell and enter these simple commands

> cd /working project folder
> git init
> git remote add origin https://username@bitbucket.org/username/reponame.git

Note:If that above command says remote origin already exists try this below command

> git remote set-url origin https://username@bitbucket.org/username/reponame.git
> git add .
> git commit -m "first commit"
> git push -u origin --allDONE!!! your code on cloud. For reference on what each command does this is the place to go. 

Hangout!!!

Image
Everyone is hanging out lately, so thought sharing some views of mine on the same.



I might be biased on thoughts for Google's culture and intentions (don't be evil) seems to be on the same frequency as mine on that aspects.
Hope Hangout does not end up with the same fate as of Google Wave. I know it was not a failure and most off its interesting features been ported to Google Drive or GMail in some or the other way.
The best thing about this app is the seamless integration with multiple devices.( Yes Multiple devices! if you did not know)

Here are some tips on getting it in multiple devices.
On Android devices you can get it from Google Play.
On Desktop try this extension for chrome.
On Gmail try clicking on the profile pic on top of the chat window and then "Try the new Hangouts".
You seem to be hanging from every where now. Happy Hangouts ;-)

Cascading Dropdownlist in MVC3- the ajax way

Image
Creating a dropdownlist the ajax way using jQuery is kind of messy. Ajax Helpers in MVC3 has an elegant alternative using unobtrusive jquery.

Lets first create a simple page with ajax form

The UpdateTargetId property of the AjaxOptions says where the partial view is to be inserted on form submit.

The corresponding controller will be

Create a partial view that will hold the second dropdownlist like this


Now one last important thing do not forget to include the unobtrusive script in your layout page


In this example when we have binded the on change of event so that the form it is contained in is posted. The argument name of the method SelectFromDDL1 and the id of dropdownlist should be the same so that it is posted when the form is submitted.

Using the same  you can create any number of cascading dropdownlists.

Unleashing Javascript

Image
One world One language

This post is about advent of the javascript.
Have you ever imagined what would happen if we were to have only ONE language...
WOW!.. It would have been a great place without doubt every single being in this world talking, singing, thinking, etc., in one language.




In the world of development if it were one language it would sure have been Javascript, looking at the pace of development in this language seems like that day is not so far. I personally did not favour javascript only for the reason it being ugly because of Duck_typing (not only me many out there think the same even Robert Cailliau), well looking at it from the point i stood was wrong until, i found the real inner power it had hidden under its sleeves.

Javascript is the only language most of developers have got their hands on apart from their "bread earning language". 
So here is a small list of frameworks to start with that will enchant you with its magical powers.


Node.JS: my intuitions is that th…

KISS Tabular View

Image
KISS- Keep it Simple Stupid

This post is about a simple html tabular view using bootstrap and a kind of raw grid with sort & search option using ASP.MVC framework.

I always like to keep a lot of things (not everything) simple, not that i don't like owning NOT so simple things ;) 
From development perspective the KISS principle has been spreading lately. Simplicity, the first thing that pops up when i hear that word, it would be Google. Well in fact "simple" is more like "beauty" it's in the eye of the beholder. Here is a sample whose idea on simple contradict with that of mine. May be we can't jump into conclusion that if something is simple to someone it is the same for the other.
So on that same idea of Simple i will try to make a simple page with a simple grid with simple lines of code.

Here is simple table which has got nothing to do with this post.




Let us Create trivial class Employee like this

Now lets create a PersonController and return a dummy lis…