Friday, July 13, 2012

Bind data to dropdownlist in Asp.net MVC4

In previous articles we have seen how to bind data to dropdownlist in gridview in asp.net,How to create entity data model in MVC,Give the reference to css/java script file in ASP.NET MVC,.In this post i will give an example for binding data to drop downlist with static data and dynamic data(From DataBase) in MVC.To assign the items to drop downlist statically,First we have to put the items into SelectListItem array  in controller.Then we can bind those items to drop down in View
Model:

using System.Web;
using System.Web.Mvc;
using System.Configuration;

namespace Dropdown.Models
{
public class Dropdwon
{
public SelectListItem[] sli { set; get; }
}
}
Controller:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Dropdown.Models;

namespace Dropdown.Controllers
{
public class DropdownController : Controller
{
// GET: /Dropdown/
public ActionResult Index()
{
var sli = new[]{
new SelectListItem {Text = "India"},
new SelectListItem {Text = "US" },
new SelectListItem {Text = "UK" },
new SelectListItem {Text = "Australia" }
};
ViewData["ddlcountryname"] = sli;
return View(sli);
}

}
}
Index.cshtml
@{

    ViewBag.Title = "This is my test";

}

<h2>Bind data to dropdown list in mvc4</h2>

@Html.DropDownList("ddlcountryname")

Using Entity model To bind data:
I have used entity model to bind the data to dropdown from database.Whenever we create a connection we can get  model with our data base.Then we can write LINQ query to get the desired data.Finally we need to convert the data to SelectList from query data

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Dropdown.Models;

namespace Dropdown.Controllers
{
public class CityController : Controller
{
private Test_KrishnaEntities db = new Test_KrishnaEntities();
 
// GET: /City/

public ActionResult Index()
{
List x = new List(); 
var city = from contact in db.Contacts orderby contact.Name
                         select contact.Name;
x.AddRange(city.Distinct());
ViewData["ddlcountryname"] =new  SelectList(x);
return View();
}
}

}
Post a Comment

Bel