禁用Kendo DropDownListFor的验证

时间:2014-03-13 09:21:13

标签: asp.net validation asp.net-mvc-4 kendo-ui html.dropdownlistfor

在ASP.NET MVC 4应用程序中,我有一个DropDownListFor来显示收藏夹列表。提交表单无需此字段。 DropDownListFor从主数据表中获取数据。 问题是,当我提交并且我没有从列表中选择一个喜欢的时候,我无法禁用这个值。 这是kendo DropDownListFor代码:

    @{
IList<Repsol.Portal.PortalClienteDEAC.GLP.Domain.Entities.PedidoFavorito> cmbFavorito = listaPedidoFavorito.ToList(); 
}

@(Html.Kendo().DropDownListFor(model => model.pedidoFavorito.IdFavorito)
                    .BindTo(new SelectList(cmbFavorito.Select(s => new { Key = s.IdFavorito, Value = s.DescFavorito }), "Key", "Value"))
                    .Name("IdFavorito")
                    .OptionLabel(Idioma.Shared.Pedidos_SeleccioneOpcion)
                    )

这是PedidoFavorito.cs类的内容:

public partial class PedidoFavorito
{
    #region Primitive Properties

    public virtual int IdFavorito
    {
        get;
        set;
    }

    public virtual string IdContrato
    {
        get;
        set;
    }

    public virtual string IdPedido
    {
        get;
        set;
    }

    public virtual string DescFavorito
    {
        get;
        set;
    }

    public virtual string metadata
    {
        get;
        set;
    }

    #endregion

}

我尝试了很多东西,但没有得到积极的结果。

提前致谢!!

2 个答案:

答案 0 :(得分:1)

数据注释将呈现data-val-required,因为DescFavorito属性不可为空。

查看 this link

答案 1 :(得分:0)

我找到了解决方案。 我要做两件事。 在视图中,我必须添加此脚本:

$(document).ready(function () {
    document.getElementById("IdFavorito").removeAttribute("required");;
});

我还必须在PedidoFavorito.cs中使IdFavorito可以为空:

public virtual int? IdFavorito
    {
        get;
        set;
    }