Mvc5错误请:(

时间:2017-07-30 13:19:12

标签: asp.net-mvc

Hello Everybody Good day我的英语不是很好Poo别看Mvc 5 New Start My Blog Site。 我收到了错误

  1. 我列出类别,我提供其他地区的入口
  2. 当我选择时间时选择照片
  3. 我上传了图片并分享了链接。我犯了这个错误。你能告诉我这个错误的方法吗?谢谢你的时间

    enter image description here

    namespace MvcSite.Controllers
    {
        public class AdminMakaleController : Controller
        {
            MvcblogDb db = new MvcblogDb();
            // GET: AdminMakale
            public ActionResult Index()
            {
                var makale = db.Makale.ToList();
                return View(makale);
            }
    
            // GET: AdminMakale/Details/5
            public ActionResult Details(int id)
            {
                return View();
            }
    
            // GET: AdminMakale/Create
            public ActionResult Create()
            {
                ViewBag.KategoriId = new SelectList(db.Kategori, "KategoriId", "KategoriAdi");
                return View();
            }
    
            // POST: AdminMakale/Create
            [HttpPost]
            public ActionResult Create(Makale makale, string Etiket, HttpPostedFile Foto)
            {
    
                if (ModelState.IsValid)
                {
                    if (Foto != null)
                    {
                        WebImage img = new WebImage(Foto.InputStream);
                        FileInfo fotoinfo = new FileInfo(Foto.FileName);
                        string newfoto = Guid.NewGuid().ToString() + fotoinfo.Extension;
                        img.Resize(800, 350);
                        img.Save("~/Uploads/MakaleFoto/" + newfoto);
                        makale.Foto = "/Uploads/MakaleFoto/" + newfoto;
                    }
                    if (Etiket != null)
                    {
                        string[] etiketdizi = Etiket.Split(',');
                        foreach (var i in etiketdizi)
                        {
                            var yenietiket = new Etiket { EtiketAdi = i };
                            db.Etiket.Add(yenietiket);
                            makale.Etiket.Add(yenietiket);
                        }
                    }
                    db.Makale.Add(makale);
                    db.SaveChanges();
                    return RedirectToAction("Index");
                }
                return View();
            }
            // GET: AdminMakale/Edit/5
            public ActionResult Edit(int id)
            {
                var makales = db.Makale.Where(m => m.MakaleId == id).SingleOrDefault();
                if (makales == null)
                {
                    return HttpNotFound();
    
                }
                ViewBag.KategoriId = new SelectList(db.Kategori, "KategoriId", "KategoriAdi", makales.KategoriId);
    
                return View(makales);
            }
    
            // POST: AdminMakale/Edit/5
            [HttpPost]
            public ActionResult Edit(int id, HttpPostedFile Foto, Makale makale)
            {
                try
                {
                    var makales = db.Makale.Where(m => m.MakaleId == id).SingleOrDefault();
    
                    if (Foto != null)
                    {
                        if (System.IO.File.Exists(Server.MapPath(makales.Foto)))
                        {
                            System.IO.File.Delete(Server.MapPath(makales.Foto));
                        }
                        WebImage img = new WebImage(Foto.InputStream);
                        FileInfo fotoinfo = new FileInfo(Foto.FileName);
                        string newfoto = Guid.NewGuid().ToString() + fotoinfo.Extension;
                        img.Resize(800, 350);
                        img.Save("~/Uploads/MakaleFoto/" + newfoto);
                        makale.Foto = "/Uploads/MakaleFOTO/" + newfoto;
                        makales.Baslik = makale.Baslik;
                        makales.İcerik = makale.İcerik;
                        makales.KategoriId = makale.KategoriId;
                        db.SaveChanges();
    
                    }
                    return RedirectToAction("Index");
                }
                catch
                {
                    ViewBag.KategoriId = new SelectList(db.Kategori, "KategoriId", "KategoriAdi", makale.KategoriId);
                    return View(makale);
                }
            }
    
            // GET: AdminMakale/Delete/5
            public ActionResult Delete(int id)
            {
                var makale = db.Makale.Where(m => m.MakaleId == id).SingleOrDefault();
                if (makale == null)
                {
                    return HttpNotFound();
                }
                return View(makale);
            }
    
            // POST: AdminMakale/Delete/5
            [HttpPost]
            public ActionResult Delete(int id, FormCollection collection)
            {
                try
                {
                    var makales = db.Makale.Where(m => m.MakaleId == id).SingleOrDefault();
                    if (makales == null)
                    {
                        return HttpNotFound();
                    }
                    if (System.IO.File.Exists(Server.MapPath(makales.Foto)))
                    {
                        System.IO.File.Delete(Server.MapPath(makales.Foto));
                    }
                    foreach (var i in makales.Yorum.ToList())
                    {
                        db.Yorum.Remove(i);
                    }
                    foreach (var i in makales.Etiket.ToList())
                    {
                        db.Etiket.Remove(i);
                    }
                    db.Makale.Remove(makales);
                    db.SaveChanges();
                    return RedirectToAction("Index");
                }
                catch
                {
    
                    return View();
                }
            }
        }
    }
    

1 个答案:

答案 0 :(得分:0)

尝试使用DropDownListFor代替DropdownList。您提到的错误意味着您在NULL中拥有SelectListItem。您应该在ListItem中创建DropDownList的列表。

(我不确定我是否正确。我只是想快速帮忙。)