Vielen Dank im Voraus für die Hilfe.Das an das Wörterbuch übergebene Modellelement ist vom Typ List_1, aber für dieses Wörterbuch wird ein Modellelement des Typs IEnumerable benötigt
Neu bei MVC ist also wahrscheinlich einfach zu beantworten. Ich bekomme diesen Fehler und habe keine Ahnung was das bedeutet. Dies ist mein Code:
Meine Ansicht:
@model carBayWebsite.Models.WishList
@{
ViewBag.Title = "Create";
}
<h2>Create</h2>
@using (Html.BeginForm("Create",
"WishLists",
FormMethod.Post,
new { enctype = "multipart/form-data" }))
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>Add to WishList?</h4>
<hr />
<p>Are you sure you want to add this to your Wish List?</p>
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
@Html.HiddenFor(m => m.AdvertId)
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
@Html.HiddenFor(m => m.AdvertId)
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Add" class="btn btn-default"/>
</div>
</div>
</div>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}
mein Controller
public class WishListsController : Controller
{
private Entities2 db = new Entities2();
public ActionResult Index()
{
string userName = User.Identity.GetUserName();
var wishlist = from ads in db.Adverts
join wish in db.WishLists
on ads.AdvertId equals wish.AdvertId
where wish.UserId.Contains(userName)
select wish;
return View(wishlist.ToList());
}
// GET: WishLists/Details/5
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
WishList wishList = db.WishLists.Find(id);
if (wishList == null)
{
return HttpNotFound();
}
return View(wishList);
}
public ActionResult Create(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
else
{
string usID = User.Identity.GetUserId().ToString();
int adID = Convert.ToInt32(id);
WishList wishList = db.WishLists.Find(id);
ViewBag.userId = usID;
ViewBag.advertId = adID;
return View(wishList);
}
}
// POST: WishLists/Edit/5
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(WishList wishList)
{
if (ModelState.IsValid)
{
db.WishLists.Add(new WishList
{
UserId = ViewBag.userId,
AdvertId = Convert.ToInt32(ViewBag.advertID),
});
try {
db.SaveChanges();
}
catch (DbEntityValidationException dbEx)
{
foreach (var validationErrors in dbEx.EntityValidationErrors)
{
foreach (var validationError in validationErrors.ValidationErrors)
{
Trace.TraceInformation("Property: {0} Error: {1}",
validationError.PropertyName,
validationError.ErrorMessage);
}
}
}
return RedirectToAction("Index");
}
return View(wishList);
}
Könnte jemand herausfinden, was falsch ist weg? Wenn ich mich umsehe, fühle ich mich wie etwas, das so einfach ist wie das erste des View, aber ich kann es nicht festhalten! :)
Fehlerdetails
Der Artikel Modell in das Wörterbuch übergeben sind vom Typ ‚System.Collections.Generic.List1 [carBayWebsite.Models.Advert]‘, aber dieses Wörterbuch erfordert ein Modell Artikel vom Typ 'System.Collections.Generic.IEnumerable1 [carBayWebsite.Models.WishList]
Ich übermittelte die Ansicht – MaxEccles
In der Fehlermeldung, was sind die generischen Typparameter 'List' und 'IEnumerable '? Sind "T1" und "T2" gleich? –
erdinger
@zgoog nein es sagt wishList enthält keine Definition für ToList, wenn ich das in – MaxEccles