传递到字典中的模型项具有' System.Collections.Generic.List'

时间:2015-10-27 00:13:37

标签: c# asp.net-mvc

我是asp.net的新手,这是我的第一个应用程序。 我正在开发一个管理保险请求的应用程序。模型Request包含文件上载。 addDemand(添加请求)需要一个成员(adherent)登录。每次我尝试运行addDemande时都会收到错误:

  

传递到字典中的模型项的类型是' System.Collections.Generic.List`1 [Mutuelle.Domain.Entities.Demande]',但此字典需要类型为&的模型项#39; Mutuelle.Domain.Entities.Demande'

这是控制器:

 public ActionResult AddDemande()
        {
            Demande demande = new Demande();
            return View(demande);

        }


[HttpPost]
public ActionResult AddDemande([Bind(Exclude = "fichier")]Demande demande, HttpPostedFileBase fichier)
{
    try
    {
        if (!ModelState.IsValid)
        {
            return View();
        }
        else
        {
            BinaryReader fichierReader = new BinaryReader(fichier.InputStream);
            byte[] fichiers = fichierReader.ReadBytes(fichier.ContentLength);

            demande.fichier = fichiers;

            AdherentDService adherentService = new AdherentDService();
            Adherent adherent = (Adherent)Session["logedAd"];
            demande.nomBeneficiaire = adherent.nom;
            demande.eMailBeneficiaire = adherent.eMail;
            demande.beneficiare = adherent;
            adherent.listDemandes.Add(demande);
            adherentService.Updateadherent(adherent);
            demande.beneficiare = adherent;
            adherentService.CreateaDemande(demande);

            Session.Remove("logedAd");
            Session.Add("logedAd", adherent);
            return RedirectToAction("Demandes");

        }
    }

    catch
    {
        return RedirectToAction("Index", "Home");
    }

}

以下是视图:

 model Mutuelle.Domain.Entities.Demande

@{
    ViewBag.Title = "AddDemande";
}

<h2>AddDemande</h2>

@using (Html.BeginForm("AddDemande", "Adherent", FormMethod.Post, new { @enctype = "multipart/form-data" }))
{
    @Html.AntiForgeryToken()

    <div class="form-horizontal">
        <h4>Demande</h4>
        <hr />
        @Html.ValidationSummary(true)


        <div class="form-group">
            @Html.LabelFor(model => model.Nomrubrique, new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                @Html.EditorFor(model => model.Nomrubrique)
                @Html.ValidationMessageFor(model => model.Nomrubrique)
            </div>
        </div>

        <div class="form-group">
            @Html.LabelFor(model => model.fichier, new { @class = "control-label col-md-2" })
            <div class="col-md-10">
                <input style="margin-left:0px;cursor:pointer;" type="file" name="fichier" id="fichier" />
            </div>
        </div>

0 个答案:

没有答案