Friday, 17 April 2015

DYNAMICALLY BIND DROPDOWNLIST FROM DATABASE MVC


FIRST CREATE A CLASS BUSSINESSDATALAYER

CREATE THE TABLE FOR DROPDOWNLIST  FROM WHICH dropdownlist list will be fetched
eg- tblwork_nts
parameters-
NT_SLNO    int    Unchecked
NT_ID        Unchecked
NT_NAME    nvarchar(MAX)    Checked
NT_ADMIN    nvarchar(10)    Checked

DECLARE A DATASET METHOD IN THAT FOR FETCHING

1.
  public DataSet Bind2DDL()
        {

            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString);
            SqlCommand cmd = new SqlCommand("select * from tblwork_nts", con);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            da.Fill(ds);
            return ds;
        }

 2. CREATE CONTROLLER eg-NTF

DECLARE A METHOD IN THAT

eg-
 public ActionResult bindntfworkddl()
        {
            BussinessDataLayer bdl = new BussinessDataLayer();
            DataSet ds = bdl.Bind2DDL();
            ViewBag.fname = ds.Tables[0];
            List<SelectListItem> item = new List<SelectListItem>();
            foreach (DataRow dr in ViewBag.fname.Rows)
            {
                item.Add(new SelectListItem { Text = @dr["NT_NAME"].ToString(), Value = @dr["NT_NAME"].ToString() });
            }
            ViewBag.NT_NAME = item;
            return View();
        }
3.then call this method in both HTTPPOST AND HTTPGET

4. THEN IN VIEW WRITE THE FOLLOWING CODE  IN THE ROW OF DROPDOWNLIST
 <td>
     Select work type
</td>
<td>
@Html.DropDownList("NT_NAME","select")

                </td>


 Note here NT_NAME will contain your selected dropdownlist value
eg-  ntf.NSF_WORK = fc["NT_NAME"].ToString();

MAKE SURE YOU CALL  bindntfworkddl() METHOD IN BOTH GET AND SET METHOD IN CONTROLLER

THATS ALL
THANKS FOR READING

 



No comments:

Post a Comment