2016-04-14 5 views
0

Ich kann meine Daten nicht zur Datenbank hinzufügen !!! Mein Code ist korrekt und ich habe keine Fehler oder Warnungen! Ich versuchte den gleichen Code mit einem anderen Modell und einem anderen Controller und es funktionierte, aber mit diesem Modell und Controller funktioniert es nicht !!!! Ich bin über meinen Verstand zu verlieren :(nicht in der Lage, mit asp.net mvc Daten in die Datenbank hinzuzufügen

Das ist meine Ansicht Code:

@model mvc_depences.Models.Projet 
 
@{ 
 
    Layout = "~/Views/Shared/admin.cshtml"; 
 
} 
 
<link href="~/Content/bootstrap/css/bootstrap.css" rel="stylesheet" /> 
 
<link href="~/Content/bootstrap/css/bootstrap.min.css" rel="stylesheet" /> 
 
@using (Html.BeginForm()) 
 
{ 
 
    @Html.AntiForgeryToken() 
 
    <fieldset> 
 
     <br /> 
 
     <legend class="legend">Ajouter Un Nouveau Projet</legend> 
 
     <div class="panel"> 
 
      <div class="panel-body"> 
 
       <br /> 
 
       <div class="col-md-6 col-sm-6"> 
 
        <div class="row"> 
 
         <div class="form-group"> 
 
          <div class="col-md-6 col-sm-6"> 
 
           <label class="cke_label" for="NomP">Nom</label> 
 
          </div> 
 
          <div class="col-md-6 col-sm-6"> 
 
           <input type="text" class="form-control" placeholder="Nom Projet" data-val="true" required="" data-val-length="Taille max est 50 caracteres !! " data-val-length-max="50" id="nom" name="nom"> 
 
           <span class="field-validation-valid text-danger" data-valmsg-for="nom" data-valmsg-replace="true"></span> 
 
          </div> 
 
         </div> 
 
         <br /><br /> 
 
         <!--Date Debut !!--> 
 
         <div class="form-group"> 
 
          <div class="col-md-6 col-sm-6"> 
 
           <label class="cke_label" for="DateDebut">Date Debut</label> 
 
          </div> 
 
          <div class="col-md-6 col-sm-6"> 
 
           <span class="k-widget k-datepicker k-header text" style="width: 245px;"> 
 
            <span class="k-picker-wrap k-state-default"> 
 
             <input data-val="true" class="text k-input" style="width: 100%;" data-val-date="The field DateDebut must be a date." data-val-required="Le champ DateDebut est requis." id="DateDebut" name="DateDebut" type="text" data-role="datepicker" role="combobox" aria-expanded="false" aria-owns="DateDebut_dateview" aria-disabled="false" aria-readonly="false"> 
 
             <span unselectable="on" class="k-select" role="button" aria-controls="DateDebut_dateview"> 
 
              <span unselectable="on" class="k-icon k-i-calendar">select</span> 
 
             </span> 
 
            </span> 
 
           </span> 
 
           <script> 
 
            jQuery(function() { 
 
             jQuery("#DateDebut").kendoDatePicker({ "format": "yyyy-MM-dd", "min": new Date(1950, 0, 1, 0, 0, 0, 0), "max": new Date(2000, 11, 31, 0, 0, 0, 0) }); 
 
            }); 
 
           </script> 
 
           <span class="text" data-valmsg-for="DateDebut" data-valmsg-replace="true"></span> 
 
          </div> 
 
         </div> 
 
         <br /><br /> 
 
         <!--Date fin Prevue !!--> 
 
         <div class="form-group"> 
 
          <div class="col-md-6 col-sm-6"> 
 
           <label class="cke_label" for="DateFinPrevue">Date Fin Prevue</label> 
 
          </div> 
 
          <div class="col-md-6 col-sm-6"> 
 
           <span class="k-widget k-datepicker k-header text" style="width: 245px;"> 
 
            <span class="k-picker-wrap k-state-default"> 
 
             <input data-val="true" class="text k-input" style="width: 100%;" data-val-date="The field DateFinPrevue must be a date." data-val-required="Le champ DateFinPrevue est requis." id="DateFinPrevue" name="DateFinPrevue" type="text" data-role="datepicker" role="combobox" aria-expanded="false" aria-owns="DateFinPrevue_dateview" aria-disabled="false" aria-readonly="false"> 
 
             <span unselectable="on" class="k-select" role="button" aria-controls="DateFinPrevue_dateview"> 
 
              <span unselectable="on" class="k-icon k-i-calendar">select</span> 
 
             </span> 
 
            </span> 
 
           </span> 
 
           <script> 
 
            jQuery(function() { 
 
             jQuery("#DateFinPrevue").kendoDatePicker({ "format": "yyyy-MM-dd", "min": new Date(1950, 0, 1, 0, 0, 0, 0), "max": new Date(2000, 11, 31, 0, 0, 0, 0) }); 
 
            }); 
 
           </script> 
 
           <span class="text" data-valmsg-for="DateFinPrevue" data-valmsg-replace="true"></span> 
 
          </div> 
 
         </div> 
 
         <br /><br /> 
 
         <!--Date fin Reele !!--> 
 
         <div class="form-group"> 
 
          <div class="col-md-6 col-sm-6"> 
 
           <label class="cke_label" for="DateFinReele">Date Fin Reele</label> 
 
          </div> 
 
          <div class="col-md-6 col-sm-6"> 
 
           <span class="k-widget k-datepicker k-header text" style="width: 245px;"> 
 
            <span class="k-picker-wrap k-state-default"> 
 
             <input data-val="true" class="text k-input" style="width: 100%;" data-val-date="The field DateFinReele must be a date." data-val-required="Le champ DateFinReele est requis." id="DateFinReele" name="DateFinReele" type="text" data-role="datepicker" role="combobox" aria-expanded="false" aria-owns="DateFinReele_dateview" aria-disabled="false" aria-readonly="false"> 
 
             <span unselectable="on" class="k-select" role="button" aria-controls="DateFinReele_dateview"> 
 
              <span unselectable="on" class="k-icon k-i-calendar">select</span> 
 
             </span> 
 
            </span> 
 
           </span> 
 
           <script> 
 
            jQuery(function() { 
 
             jQuery("#DateFinReele").kendoDatePicker({ "format": "yyyy-MM-dd", "min": new Date(1950, 0, 1, 0, 0, 0, 0), "max": new Date(2000, 11, 31, 0, 0, 0, 0) }); 
 
            }); 
 
           </script> 
 
           <span class="text" data-valmsg-for="DateFinReele" data-valmsg-replace="true"></span> 
 
          </div> 
 
         </div> 
 
         <br /><br /> 
 
         @*<div class="form-group"> 
 
           <div class="col-md-6 col-sm-6"> 
 
            <label class="cke_label" for="Description">Description</label> 
 
           </div> 
 
           <div class="col-md-6 col-sm-6"> 
 
            <textarea rows="6" cols="40"></textarea> 
 
           </div> 
 
          </div>*@ 
 
         <br /><br /> 
 
         <div class="form-group"> 
 
          <div class="col-md-6 col-sm-6"> 
 
           <label class="cke_label" for="etat">Etat</label> 
 
          </div> 
 
          <div class="input-group"> 
 
           <div align="justify"> 
 
            <br> 
 
            <input type="radio" name="group2" value="En_Cours" checked> En Cours<br> 
 
            <input type="radio" name="group2" value="Termine"> Terminé<br> 
 
            <input type="radio" name="group2" value="Annule"> Annulé<br> 
 
           </div> 
 
          </div> 
 
         </div> 
 
         <div class="row" style="margin-left:400px;margin-top:120px"> 
 
          <div class="col-md-12" style="width:350px"> 
 
           <input id="Submit" class="btn btn-default" name="actionType" type="submit" value="Engeristrer" style="width:150px" /> 
 
          </div> 
 
         </div> 
 
        </div> 
 
       </div> 
 
      </div> 
 
     </div> 
 
    </fieldset> 
 
}

Mein Controller-Code:

using System; 
 
using System.Collections.Generic; 
 
using System.Data; 
 
using System.Data.Entity; 
 
using System.Linq; 
 
using System.Net; 
 
using System.Web; 
 
using System.Web.Mvc; 
 
using Kendo.Mvc.Extensions; 
 
using Kendo.Mvc.UI; 
 
using mvc_depences.Models; 
 

 
namespace mvc_depences.Controllers 
 
{ 
 
    public class ProjetController : Controller 
 
    { 
 
     private BD_GestionDepences db = new BD_GestionDepences(); 
 
     public ActionResult CreateProjet() 
 
     { 
 
      return View(); 
 
     } 
 
     [HttpPost] 
 
     [ValidateAntiForgeryToken] 
 
     public ActionResult CreateProjet([Bind(Include = "idProjet,nomP,DateDebut,DateFinPrevue,DateFinReele,etat")] Projet projet) 
 
     { 
 
      if (ModelState.IsValid) 
 
      { 
 
       db.Projets.Add(projet); 
 
       db.SaveChanges(); 
 
       return RedirectToAction("Index"); 
 
      } 
 
      return View(projet); 
 
     } 
 

 
     public ActionResult Index() 
 
     { 
 
      return View(); 
 
     } 
 
    } 
 
}

+0

Wird der Controller aufgerufen, wenn die Seite gesendet wird? –

+0

Wenn Ihre Ansicht gerendert wird, was ist die Formularaktion, die Sie in der Quelle sehen? – elolos

+1

Haben Sie innerhalb von 'if (ModelState.IsValid)' einen Haltepunkt gefunden? – BrunoLM

Antwort

0

Ändern Sie diese Zeile wie diese wieder und versuchen,

@using (Html.BeginForm("CreateProjet","Projet",FormMethod.Post)) 

EDITED - das Versuchen von Bind Entfernen dies

[HttpPost] 
[ValidateAntiForgeryToken] 
public ActionResult CreateProjet(Projet projet) 
{ 
    if (ModelState.IsValid) 
    { 
     db.Projets.Add(projet); 
     db.SaveChanges(); 
     return RedirectToAction("Index"); 
    } 
    return View(projet); 
} 

Dies kann nicht möglich arbeiten kann, aber immer noch die überprüfen Verbindungszeichenfolge, die sich auf die gleiche DB oder eine andere Datenbank auswirkt.

+3

Warum sollten Sie dies tun - all diese Werte sind die Standardeinstellungen - es ist völlig unnötig. –

+1

ich habe es geändert und es hat nicht funktioniert: \! – kokomoi

Verwandte Themen