Je suis relativement nouveau pour les extensions Telerik MVC. J'ai implémenté ma première instance dans une vue avec succès. Je n'implémente pas ma deuxième vue en utilisant la grille Telerik MVC, cependant la classe qui est liée à la grille a 2 colonnes qui sont de type Nullable. Lorsque j'exécute mon code, la vue génère une erreur comme suit:Telerik MVC Grid - problème avec la propriété DateTime nullable
L'élément de modèle transmis au dictionnaire est null, mais ce dictionnaire requiert un élément de modèle non nul de type 'System.DateTime'. Je pensais à l'origine que cela pouvait être un problème de rendu avec un modèle qui ne fonctionne qu'avec DateTime et non Nullable, mais j'ai ensuite supprimé toutes les colonnes affichant ces DataTime? Propriétés.
Mon code est le suivant:
Afficher le code pour Telerik MVC Grille
<%= Html.Telerik().Grid(Model.ScheduledCourseList)
.Name("ScheduledCoursesGrid")
.ToolBar(commands => commands.Insert().ButtonType(GridButtonType.Image).ImageHtmlAttributes(new { style = "margin-left:0" }))
.DataKeys(keys => keys.Add(sc => sc.Id))
.DataBinding(dataBinding =>
dataBinding.Ajax()
.Select("_List", "Course")
.Insert("_InsertAjax", "Course")
.Update("_UpdateAjax", "Course")
.Delete("_DeleteAjax", "Course")
)
.Columns(columns =>
{
columns.Bound(c => c.Id).Width(20);
//columns.Bound(c => c.ScheduledDateTime).Width(120);
//columns.Bound(c => c.Location).Width(150);
columns.Command(commands =>
{
commands.Edit().ButtonType(GridButtonType.Image);
commands.Delete().ButtonType(GridButtonType.Image);
}).Width(180).Title("Commands");
})
.Editable(editing => editing.Mode(GridEditMode.PopUp))
.Sortable()
.Footer(true) %>
DTO
public class ScheduledCourseDTO
{
public int Id { get; set; }
public int CourseId { get; set; }
public int CourseProviderId { get; set; }
public DateTime? ScheduledDateTime { get; set; }
public DateTime? EndDateTime { get; set; }
public string Location { get; set; }
public int SiteId { get; set; }
public decimal CostBase { get; set; }
public decimal CostPerAttendee { get; set; }
public decimal PricePerAttendee { get; set; }
public int MaxAttendees { get; set; }
public int CancellationDays { get; set; }
public bool Deleted { get; set; }
}
Est-ce que la façon dont quelqu'un a une idée que je peux résoudre ce problème?
Je n'utilise quoi que ce soit de Telerik, mais cette réponse m'a fait encore sur la bonne voie pour le message d'erreur que je recevais. Merci! –
Salut Shea J'ai le même problème mais je n'utilise pas Telerik non plus. Comment avez-vous résolu votre problème? – Jacques
@Jacques: Si vous n'avez pas résolu cela par vous-même, j'ai rencontré quelque chose de similaire et j'ai résolu le problème en ayant à la fois l'objet DateTimePicker et un objet DateTime dans la classe et en le repiquant après un appel TryUpdateModel. –