Code - Razor Code
<div class="editor-field">
@Html.DropDownList("CountryID", String.Empty)
@Html.ValidationMessageFor(model => model.CountryID)
</div>
Controller code
at the time on showing data in drop down list
ViewBag.CountryID = new SelectList(db.Countries, "CountryID", "Name");
at the time of showing data on saving time
ViewBag.CountryID = new SelectList(db.Countries, "CountryID", "Name", state.CountryID);
plz send your comment - how many types we have bind data in drop downlist
Controller
Code
using Mvc3App.Models.Entity;
using Mvc3App.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Mvc3App.Controllers
{
public class AccountController : Controller
{
WebSolutionDBEntities db = new WebSolutionDBEntities();
//
// GET: /Account/
#region ............ Branch ---------------------
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult GetDivisionByBranch(string BranchID)
{
DivisionModel objState = new DivisionModel();
var modelList = objState.GetDivisionByBranch(Convert.ToInt32(BranchID));
var modelData = modelList.Select(m => new SelectListItem()
{
Text = m.Division_Name,
Value = m.Division_ID.ToString(),
});
return Json(modelData, JsonRequestBehavior.AllowGet);
}
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult GetSubDivisionByDivisionID(string DivisionID)
{
SubDivisionModel objCity = new SubDivisionModel();
var colourList = objCity.GetSubDivisionByDivisionID(Convert.ToInt32(DivisionID));
var colourData = colourList.Select(c => new SelectListItem()
{
Text = c.Sub_Div_Name,
Value = c.Sub_Div_ID.ToString(),
});
return Json(colourData, JsonRequestBehavior.AllowGet);
}
#endregion
#region ---- Methods for cascading dropdown list
//private IList<State> GetModels(int id)
//{
// return db.States.Where(m => m.CountryID == id).ToList();
//}
//private IList<State> GetStates(int CountryID)
//{
// return
//}
//private IList<City> GetColours(int id)
//{
// return db.Cities.Where(c => c.SatateID == id).ToList();
//}
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult LoadModelsByCar(string CountryID)
{
StateModel objState = new StateModel();
var modelList = objState.GetStates(Convert.ToInt32(CountryID));
var modelData = modelList.Select(m => new SelectListItem()
{
Text = m.Name,
Value = m.CountryID.ToString(),
});
return Json(modelData, JsonRequestBehavior.AllowGet);
}
[AcceptVerbs(HttpVerbs.Get)]
public JsonResult LoadColoursByModel(string StateID)
{
CityModel objCity = new CityModel();
var colourList = objCity.GetCityByStateID(Convert.ToInt32(StateID));
var colourData = colourList.Select(c => new SelectListItem()
{
Text = c.Name,
Value = c.SatateID.ToString(),
});
return Json(colourData, JsonRequestBehavior.AllowGet);
}
#endregion ----------
public ActionResult Index()
{
CountryModel objCountry = new CountryModel();
ViewBag.Cars = db.Countries.ToList();
ViewBag.Models = db.States.ToList();
ViewBag.Colours = db.Cities.ToList();
return View("SignUp");
}
public ActionResult Register()
{
// ViewBag.Country = db.Countries.ToList();
// ViewBag.State = db.States.ToList();
// ViewBag.City = db.Cities.ToList();
CountryModel objCountry = new CountryModel();
ViewBag.Country = objCountry.GetCountryItemAll();
ViewBag.State = db.States.ToList();
ViewBag.City = db.Cities.ToList();
return View("SignUp");
}
[HttpPost]
public ActionResult Register(RegistrationModel objRegister)
{
// ViewBag.Country = db.Countries.ToList();
// ViewBag.State = db.States.ToList();
// ViewBag.City = db.Cities.ToList();
CountryModel objCountry = new CountryModel();
ViewBag.Country = objCountry.GetCountryItemAll();
ViewBag.State = db.States.ToList();
ViewBag.City = db.Cities.ToList();
if (objRegister.User_Insert_Buss(objRegister) != 0)
{
ViewBag.Message = "Successful";
}
return View("SignUp", objRegister);
}
public ActionResult Login()
{
ViewBag.Cars = db.Countries.ToList();
ViewBag.Models = db.States.ToList();
ViewBag.Colours = db.Cities.ToList();
return View("SignIn");
}
[HttpPost]
public ActionResult Login(RegistrationModel objRegister)
{
WebSolutionDBEntities db = new WebSolutionDBEntities();
State state = new State();
if (objRegister.Login(objRegister) != null)
{
ViewBag.Message = "Successfull";
return RedirectToAction("MyAccount");
}
return View("SignIn");
}
public ActionResult MyAccount()
{
return View("MyAccount");
}
}
}
Model classes
using Mvc3App.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace Mvc3App.Models.Entity
{
public class RegistrationModel
{
WebSolutionDBEntities context = new WebSolutionDBEntities();
public int UserID { get; set; }
public string EamilAddress { get; set; }
public string Password { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public CountryModel CountryModels { get; set; }
public StateModel StateModels { get; set; }
public CityModel CityModels { get; set; }
public int UserRoleID { get; set; }
public int RoleID { get; set; }
public bool IsActive { get; set; }
public string IPAddress { get; set; }
#region ------- Country---State---City--------
#endregion
#region .... Methods
public int User_Insert_Buss(RegistrationModel objRegister)
{
int a = 0;
UserProfile objprofile = new UserProfile();
objprofile.CountryID = 1;
objprofile.CityID = objRegister.StateModels.SatateID;
objprofile.SatateID = objRegister.CityModels.CityID;
objprofile.FirstName = objRegister.CountryModels.CountryName;
objprofile.LastName = objRegister.LastName;
objprofile.Email = objRegister.EamilAddress;
objprofile.Password = objRegister.Password;
objprofile.DOB = DateTime.Now;
objprofile.CreatedDate = DateTime.Now;
context.UserProfiles.Add(objprofile);
context.SaveChanges();
int a1 = objprofile.UserId;
if (a1 != 0)
{
//UserRole_Mapping objrole = new UserRole_Mapping();
//objrole.UserID = a1;
//objrole.RoleID = 1;
//context.UserRole_Mapping.Add(objrole);
//context.SaveChanges();
}
return a;
}
public RegistrationModel Login(RegistrationModel objlogin)
{
var user = context.UserProfiles.FirstOrDefault(u => u.Email == objlogin.EamilAddress);
if (user != null)
{
return objlogin;
}
return objlogin;
}
#endregion
}
}
Razor source
@model Mvc3App.Models.Entity.RegistrationModel
<script type="text/javascript">
$(document).ready(function ()
{
$("#ddlCars").change(function ()
{
var idModel = $(this).val();
$.getJSON("/Index/LoadModelsByCar", { id: idModel },
function (carData) {
var select = $("#ddlModels");
select.empty();
select.append($('<option/>', {
value: 0,
text: "Select a Model"
}));
$.each(carData, function (index, itemData) {
select.append($('<option/>', {
value: itemData.Value,
text: itemData.Text
}));
});
});
});
$("#ddlModels").change(function () {
var idColour = $(this).val();
$.getJSON("/Index/LoadColoursByModel", { id: idColour },
function (modelData) {
var select = $("#ddlColours");
select.empty();
select.append($('<option/>', {
value: 0,
text: "Select a Colour"
}));
$.each(modelData, function (index, itemData) {
select.append($('<option/>', {
value: itemData.Value,
text: itemData.Text
}));
});
});
});
});
</script>
@using (Html.BeginForm("Register","Account"))
{
<table style="width:100%">
<tr>
<td style="width:10%">
Your username
</td>
<td style="width:90%">
@Html.TextBoxFor(m => m.EamilAddress, new { placeholder="mysuperusername690",required="required" })
</td>
</tr>
<tr>
<td style="width:10%">
Country
</td>
<td style="width:90%">
@Html.DropDownListFor(Model => Model.CountryModels.CountryName, new SelectList(ViewBag.Country as System.Collections.IEnumerable, "CountryID", "Name"),
"Select a Car", new { id = "ddlCars" })
</td>
</tr>
<tr>
<td style="width:10%">
State
</td>
<td style="width:90%">
@Html.DropDownListFor(Model => Model.StateModels.SatateID, new SelectList(Enumerable.Empty<SelectListItem>(), "StateID", "Name"),
"Select a Model", new { id = "ddlModels" })
</td>
</tr>
<tr>
<td style="width:10%">
City
</td>
<td style="width:90%">
@Html.DropDownListFor(Model => Model.CityModels.CityID, new SelectList(Enumerable.Empty<SelectListItem>(), "CityID", "Name"),
"Select a Colour", new { id = "ddlColours" })
</td>
</tr>
<tr>
<td style="width:10%">
Your email
</td>
<td style="width:90%">
@Html.TextBoxFor(m => m.EamilAddress, new { placeholder="
[email protected]",required="required" })
</td>
</tr>
<tr>
<td style="width:10%">
Password
</td>
<td style="width:90%">
@Html.PasswordFor(m => m.Password, new { placeholder="eg. X8df!90EO",required="required" })
</td>
</tr>
<tr>
<td style="width:10%">
Confirm Password
</td>
<td style="width:90%">
@Html.PasswordFor(m => m.Password, new { placeholder="eg. X8df!90EO",required="required" })
</td>
</tr>
<tr>
<td style="width:10%">
Confirm Password
</td> <td style="width:90%"> <input type="submit" value="Sign up"/> </td>
</tr>
</table>
}