none
There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key 'State'. RRS feed

  • Question

  • CONTROLLER ...

                                          

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

    namespace PALMS.Controllers
    {
        public class LocationController : Controller
        {
            // GET: Location
            palmsEntities3 obj = new palmsEntities3();
            public PALMS.location AutogenerateLocid()
            {
                location l2 = new location();
                var q1 = (from x in obj.locations
                          orderby x.id descending
                          select x).Take(1);
                foreach (var item in q1)
                {
                    string s = item.locid;
                    string[] s1 = s.Split('_');
                    int i = int.Parse(s1[1]);
                    i++;
                    l2.locid = s1[0] + "_" + i;
                }
                return l2;
            }

                public ActionResult Index()
            {
                return RedirectToAction("Details");
            }
            [HttpGet]
            public ActionResult Details()

            {
                PALMS.location lt = AutogenerateLocid();
                IEnumerable<state> country = obj.states.ToList();
                List<SelectListItem> li = new List<SelectListItem>();
                li.Add(new SelectListItem { Text = "--Select state--", Value = "0" });
                foreach (var m in country)
                {
                    li.Add(new SelectListItem { Text = m.statename, Value = m.stateid.ToString() });

                }
                ViewData["country"] = li;
                return View(lt);
            }


            [HttpPost]
            public ActionResult Details(FormCollection f1)
            {

                location l = new location();
                l.locid = f1[0];
                l.cityid = f1[2];
                l.locname = f1[3];
                int oc = obj.locations.Count();
                obj.locations.Add(l);
                obj.SaveChanges();
                int nc = obj.locations.Count();
                ModelState.Clear();
                if (nc > oc)
                {
                    PALMS.location lc = AutogenerateLocid();
                    return View(lc);
                }
                else
                {
                    return View();
                }
                return View();
            }

            public JsonResult getCity(string id)
            {
                var city = obj.cities.Where(x => x.stateid == id).ToList();
                List<SelectListItem> licity = new List<SelectListItem>();

                licity.Add(new SelectListItem { Text = "--Select City--", Value = "0" });
                if (city != null)
                {
                    foreach (var l in city)
                    {
                        licity.Add(new SelectListItem { Text = l.cityname, Value = l.cityid.ToString() });
                    }
                }
                return Json(new SelectList(licity, "Value", "Text", JsonRequestBehavior.AllowGet));
            }
        }


    }


    Thursday, March 22, 2018 1:04 PM

Answers