我需要帮助,我用3个表制作了SQL数据库,并通过实体框架将它们连接到MVC。 我创建了带有下拉列表和标签等的“ CreateView”。当我保存它们时,它们可以正常工作,我在SQL表中检查了所有内容,但是例如当我选择输入的数据并想要更改某些内容时,不知道如何制作EditView。帮助。
控制器
using AkvizicijeApp_4_2.Models;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace AkvizicijeApp_4_2.Controllers
{
public class HomeController : Controller
{
Akvizicije_drop_downEntities db = new Akvizicije_drop_downEntities();
public ActionResult Index()
{
List<Country> CountryList = db.Countries.ToList();
ViewBag.CountryList = new SelectList(CountryList, "CountryId", "CountryName");
List<Contact> model = (from k in db.Contacts
select k).ToList();
return View(model);
}
public JsonResult GetStateList(int CountryId)
{
db.Configuration.ProxyCreationEnabled = false;
List<State> StateList = db.States.Where(x => x.CountryId == CountryId).ToList();
return Json(StateList, JsonRequestBehavior.AllowGet);
}
public ActionResult Create()
{
List<Country> CountryList = db.Countries.ToList();
ViewBag.CountryList = new SelectList(CountryList, "CountryId", "CountryName");
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(CountryStateContactViewModel csvm)
{
if (!ModelState.IsValid)
{
return View(csvm);
}
Contact model = new Contact() { CountryId = csvm.CountryId, StateId = csvm.StateId, ContactId = csvm.ContactId, ImeOsobe = csvm.ImeOsobe, PrezimeOsobe = csvm.PrezimeOsobe, Komentar = csvm.Komentar, Email = csvm.Email, Aktivan = csvm.Aktivan, kcbr = csvm.kcbr, KucniBroj = csvm.KucniBroj, NazivUlice = csvm.NazivUlice, NazivNaselja = csvm.NazivNaselja, PostanskiBroj = csvm.PostanskiBroj, KontaktBroj = csvm.KontaktBroj };
db.Contacts.Add(model);
try
{
db.SaveChanges();
}
catch (System.Data.Entity.Validation.DbEntityValidationException db)
{
Exception raise = db;
foreach (var validationErrors in db.EntityValidationErrors)
{
foreach (var validationError in validationErrors.ValidationErrors)
{
string message = string.Format("{0}:{1}",
validationErrors.Entry.Entity.ToString(),
validationError.ErrorMessage);
raise = new InvalidOperationException(message, raise);
}
}
throw raise;
}
return RedirectToAction("Index");
}
[HttpGet]
public ActionResult Edit(int? id)
{
Contact kontakt = db.Contacts.Find(id);
return View("Edit", kontakt);
}
[HttpPost]
public ActionResult Edit
(Contact model)
{
if (!ModelState.IsValid)
{
return View("Index", model);
}
db.Entry(model).State =
EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
public ActionResult Details()
{
return View();
}
[HttpPost]
public ActionResult Details(int id)
{
Contact kontakt = (from c in db.Contacts
where c.ContactId == id
select c).SingleOrDefault();
return View(kontakt);
}
}
}
ViewModel
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace AkvizicijeApp_4_2.Models
{
public class CountryStateContactViewModel
{
public int CountryId { get; set; }
public int StateId { get; set; }
public int ContactId { get; set; }
public int PostanskiBroj { get; set; }
public string NazivNaselja { get; set; }
public string NazivUlice { get; set; }
public string KucniBroj { get; set; }
public string kcbr { get; set; }
public bool Aktivan { get; set; }
public string ImeOsobe { get; set; }
public string PrezimeOsobe { get; set; }
public string KontaktBroj { get; set; }
public string Email { get; set; }
public string Komentar { get; set; }
}
}
如果您需要更多信息,请在评论中告诉我,我将编辑问题 我的问题是我不知道如何制作“已创建模型”的“编辑视图”,所以我可以编辑现有模型并将其保存。