提交表单后,页面不显示错误

时间:2015-05-06 19:13:09

标签: asp.net-mvc asp.net-mvc-4

我是ASP.NET MVC的新手,并尝试使用模型,验证和控制器。

我遵循一些简单的教程并拥有以下文件:

型号:

public class ItineraryItem
{
    public DateTime? When { get; set; }
    public string Description { get; set; }
    public int? Duration { get; set; }
}

查看:

@model MVCSuccinctly.Models.ItineraryItem
<h2>Create</h2>
<div class="editor">
    @using (Html.BeginForm())
    {
        <p>
            @Html.LabelFor(m => m.Description)
            @Html.TextBoxFor(m => m.Description)
            @Html.ValidationMessageFor(m => m.Description)
        </p>
        <p>
            @Html.LabelFor(m => m.When) 
            @Html.TextBoxFor(m => m.When) 
            @Html.ValidationMessageFor(m => m.When)
        </p>
        <p>
            @Html.LabelFor(m => m.Duration)
            @Html.TextBoxFor(m => m.Duration) 
            @Html.ValidationMessageFor(m => m.Duration)
        </p>
        <p><input type="submit" value="Save" /></p>

    }
</div>

控制器:

public class ItineraryController : Controller
{
    public ActionResult Create()
    {
        var model = new ItineraryItem();
        return View(model);
    }

}

根据教程,我输入的值对模型中的数据类型无效并提交表单。

我应该收到错误消息&#34;当&#34;和&#34;持续时间&#34;字段,带有来自模型绑定器的验证消息的文本,基于数据类型,但是没有任何反应。

为什么?

1 个答案:

答案 0 :(得分:0)

我发现了什么问题。我不得不将我的模型发送到Action并从那里返回View:

public ActionResult Create(ItineraryItem data)
{
    return View();
}