【发布时间】:2015-09-27 17:04:54
【问题描述】:
我知道这里有很多类似的问题,但没有一个能解决我的问题。
当我访问网址时:http://localhost:42626/dealer/edit/2
发生错误:
传入字典的模型项是'System.Int32'类型, 但是这个字典需要一个“IMS.Models.Dealer”类型的模型项。
DealerController 代码:
[HttpGet]
public ActionResult Edit(int DealerId = 0)
{
//get from database
Models.Dealer dealer = new Models.Dealer();
string Error;
if(dealer.GetDealer(DealerId, out Error))
return View(dealer);
else
{
RedirectToAction("Index");
}
return View(DealerId);
}
[HttpPost]
public ActionResult Edit(Models.Dealer dealer)
{
//if All validations are true
if (ModelState.IsValid)
{
string Error;
//save to database
if(dealer.Save(out Error))
return RedirectToAction("Index");
else
{
TempData["EditMessage"] = "An error occured. Could not update Dealer. Details: " + Error;
return Edit(dealer.Id);
}
}
return Edit(dealer.Id);
}
我用强类型Models.Dealer 创建了View,模板是Edit。
如果我定义了[HttpGet]和[HttpPost],为什么它不接受int并继续要求Dealer模型??
【问题讨论】:
标签: c# asp.net-mvc controller invalidoperationexception