Cannot convert from 'System.Web.Mvc.FormCollection'
本文关键字:Mvc FormCollection Web System Cannot convert from | 更新日期: 2023-09-27 18:03:54
我得到两个以下错误在我的ASP。. NET MVC 3项目:
错误1最佳重载方法匹配"SklepAlfa.Models.ProduktyController.Edytuj (int,sklepalfa . models . producktyedytujviewmodel)'有一些无效的参数
错误2参数2:不能从"System.Web.Mvc。FormCollection"SklepAlfa.Models.ProduktyEdytujViewModel"
这是我的productyedytujviewmodel .cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using SklepAlfa.Models;
using System.Web.Mvc;
namespace SklepAlfa.Models
{
public class ProduktyEdytujViewModel
{
public Produkty Produkt { get; set; }
public int id_produktu { get; set; }
public IEnumerable<Kategorie_produktow> Kategorie { get; set; }
}
}
这里它在控制器中使用:
public ActionResult Edytuj(int id) //Edit
{
var model = new ProduktyEdytujViewModel //ProductsEditViewModel
{
Produkt = sklepBaza.PobierzProduktWgId(id), //GetProductById
Kategorie = sklepBaza.PobierzKategorieProduktow() //GetProductCategories
};
return View(model);
}
[HttpPost]
public ActionResult Edytuj(int id, ProduktyEdytujViewModel model)
{
if (!ModelState.IsValid)
{
model.Produkt = sklepBaza.PobierzProduktWgId(id);
model.Kategorie = sklepBaza.PobierzKategorieProduktow();
return View(model);
}
return RedirectToAction("Kategorie");
}
我做错了什么?
在post操作中,你可以只传递模型对象,它将包含id
[HttpPost]
public ActionResult Edytuj(ProduktyEdytujViewModel model)
{
if (!ModelState.IsValid)
{
model.Produkt = sklepBaza.PobierzProduktWgId(model.id);
model.Kategorie = sklepBaza.PobierzKategorieProduktow();
return View(model);
}
return RedirectToAction("Kategorie");
}