Ne peut pas comprendre pourquoi le modèle est nul sur la publication?

Je suis nouveau sur ASP.NET MVC et je suis en train de créer un blog simple type de site comme un moyen d'apprendre comment tout fonctionne. Mais, je vais avoir un problème lors de l'affichage d'un formulaire de commentaire à un modèle qui est nulle et je ne peux pas dire pourquoi.

Sur un blog, j'ai une "ajouter un commentaire" lien qui appelle certains de JQuery pour rendre une vue partielle qui est fortement typé à la CommentModel. Le lien passe dans l'ID du blog en tant que bien et le partiel est codée comme:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Blog.Models.CommentModel>" %>

<% using (Html.BeginForm())
   { %>

    <%: Html.HiddenFor(x => x.Post.ID) %>
    <%: Html.HiddenFor(x => x.CommentID) %>

    <%: Html.TextBoxFor(x => x.Name) %><br />
    <%: Html.TextBoxFor(x => x.Email) %><br />
    <%: Html.TextBoxFor(x => x.Website) %><br />
    <%: Html.TextAreaFor(x => x.Comment) %><br />

    <input type="submit" value="submit" />

<% } %>

La CommentsModel est simple et ressemble à ceci (je n'ai pas fait de demande de validation, ou encore rien):

public class CommentModel
    {
        public BlogPost Post { get; set; }
        public int CommentID { get; set; }

        public string Name { get; set; }
        public string Email { get; set; }
        public string Website { get; set; }
        public string Comment { get; set; }
    }

C'est alors censé poster un simple contrôleur de l'action, de manière à ajouter un commentaire à la base de données et de renvoyer l'utilisateur à la page. Par souci de simplicité, j'ai enlevé la plupart du code, mais il ressemble à:

[HttpPost]
        public ActionResult CommentForm(CommentModel model)
        {
            if (ModelState.IsValid)
            {

            }
            else
            {

            }
        }

Tout fonctionne comme prévu, sauf que lors de la validation du formulaire de commentaire, le commentaire du modèle est null. Je ne peux pas comprendre pourquoi cela est null. Quand j'ai vue la source de la vue partielle, je vois que le Post.ID" est renseignée avec l'ID correct, mais c'est perdu lorsque le formulaire est soumis.

Ai-je raté quelque chose d'évident ici? J'ai mis en place des formes similaires dans le passé et cela a bien fonctionné, je ne peux pas comprendre pourquoi ses pas maintenant. Merci à l'avance.

Plus Tard Edit:

J'avais tapé un code incorrect et a changé le public ActionResult CommentForm(CommentModel model) de public ActionResult CommentForm(CommentModel comment) qui a été à l'origine du problème.

Merci pour l'aide.

OriginalL'auteur NickK | 2011-11-06