开发者

Cannot convert from 'System.Web.Mvc.FormCollection' to 'MyProject.Models.EditViewModel'

I get two following errors in my ASP.NET MVC 3 project:

Error 1 The best overloaded method match for 'SklepAlfa.Models.ProduktyController.Edytuj(int, SklepAlfa.Models.ProduktyEdytujViewModel)' has some invalid arguments

Error 2 Argument 2: cannot convert from 'System.Web.Mvc.FormCollection' to 'SklepAlfa.Models.ProduktyEdytujViewModel'

Here is my ProduktyEdytujViewModel.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; }
    }
}

And here it is used in my controller:

    public ActionResult Edytuj(int id) //Edit
    {
        var model = new ProduktyEdytujViewModel //ProductsEditViewModel
        {
            Produkt = sklepBaza.PobierzProduktWgId(id), //GetProductById
            Kategorie = sklepBaza.PobierzKategorieProduktow() //GetProductCategories
        };

        re开发者_运维问答turn 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");
    }

What am I doing wrong? Thank you in advance.


In the post action you can pass just the model object and it will contain the 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");
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜