c# - MVC3 可选模型属性

标签 c# asp.net asp.net-mvc asp.net-mvc-3

我有一个下拉列表,我希望它是可选的,但是,ModelState.IsValid 检查正在尝试验证该属性。有没有办法告诉它该属性是可选的?

这是我的代码:

<h2>New Version</h2>

@using (Html.BeginForm()) {
    <div>Version Number: @Html.TextBoxFor(m => m.Number)</div>
    <div>Enabled: @Html.CheckBoxFor(m => m.IsActive)</div>

    <div></div>

    <div>
        Template (optional): 
        @Html.DropDownListFor(m => m.TemplateVersionId, new SelectList(Model.CurrentVersions, "VersionId", "Number"),
            "-- Select Template --")
    </div>

    <input type="submit" value="Save" />
    @Html.ActionLink("Cancel", "Index");
}

和我的 ViewModel:

public class AddVersionViewModel
{
    public double Number { get; set; }
    public bool IsActive { get; set; }

    public int TemplateVersionId { get; set; }
    public ICollection<Version> CurrentVersions { get; set; }
}

我希望 TemplateVersionId 是可选的。

最佳答案

将其更改为 int? 以使其可为空。

关于c# - MVC3 可选模型属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7516692/

相关文章:

c# - VS2010 - 在设计时加载要调试的符号(不会命中断点)

c# - ASP.NET 母版页 DefaultButton 覆盖

c# - 无法使用我的身份服务器从 native 应用程序调用 API

javascript - 如果列包含特定值,则更改表行的颜色

jquery - jqGrid:在线编辑期间,postData 未发布到 Controller 操作

c# - 从 derived 而不是 base 调用的虚拟方法

asp.net - 我可以使用 Linq 迭代/过滤我的 web.config AppSettings 吗?

javascript - 防止点击链接按钮时刷新页面

.net - 回发数据不保留

c# - jsonresult 不回来?