C# 在两个不同的视图中使用相同的模型,在第二个视图中不获取验证消息
我正在创建两个MVC#razor引擎视图,并且我必须/必须为两个不同的视图使用相同的模型,问题在于: 在第一个视图中,我不需要获取模型所有属性的信息,只需要获取其中的一些属性,也不需要在第一个视图中显示模型的所有属性 在第二个视图中,我需要从第一个视图中未显示的属性中获取信息,以便用信息填充所有属性模型,然后将模型提交到数据库 问题是模型使用dataannotations来验证属性是否有值,并且在第一个视图中不是问题,但在第二个视图中,当第二个视图第一次加载时,它总是显示validationmessage 第一种形式 带有验证消息的第二个表单 这就是模型C# 在两个不同的视图中使用相同的模型,在第二个视图中不获取验证消息,c#,asp.net-mvc,C#,Asp.net Mvc,我正在创建两个MVC#razor引擎视图,并且我必须/必须为两个不同的视图使用相同的模型,问题在于: 在第一个视图中,我不需要获取模型所有属性的信息,只需要获取其中的一些属性,也不需要在第一个视图中显示模型的所有属性 在第二个视图中,我需要从第一个视图中未显示的属性中获取信息,以便用信息填充所有属性模型,然后将模型提交到数据库 问题是模型使用dataannotations来验证属性是否有值,并且在第一个视图中不是问题,但在第二个视图中,当第二个视图第一次加载时,它总是显示validationme
#region Datos Empresa
private string Empresa;
[Required(ErrorMessage = "Especificar empresa que asistirá al evento", AllowEmptyStrings = false)]
[Display(Name = "Empresa")]
public string empresa
{
get { return Empresa; }
set { Empresa = value; }
}
#endregion
#region Datos Evento de Formación
private string AccionEvento;
private string DptoEvento;
private string MunicipioEvento;
private string LugarEvento;
private string DireccionEvento;
private string FechaEvento;
private double HorasEvento;
[Required(ErrorMessage = "Favor especificar Acción Formativa")]
[Display(Name = "Acción Formativa")]
public string accionEvento
{
get { return AccionEvento; }
set { AccionEvento = value; }
}
[Required(ErrorMessage = "Favor especificar departamento")]
[Display(Name = "Departamento")]
public string dptoEvento
{
get { return DptoEvento; }
set { DptoEvento = value; }
}
[Required(ErrorMessage = "Favor especificar municipio")]
[Display(Name = "Municipio")]
public string municipioEvento
{
get { return MunicipioEvento; }
set { MunicipioEvento = value; }
}
[Required(ErrorMessage = "Especificar lugar en que se impartira el evento")]
[Display(Name = "Lugar")]
public string lugarEvento
{
get { return LugarEvento; }
set { LugarEvento = value; }
}
[Required(ErrorMessage = "Especificar dirección en que se impartira el evento")]
[Display(Name = "Dirección")]
public string direccionEvento
{
get { return DireccionEvento; }
set { DireccionEvento = value; }
}
[Required(ErrorMessage = "Especificar fecha inicio evento")]
[Display(Name = "Fecha tentaiva Inicio")]
public string fechaEvento
{
get { return FechaEvento; }
set { FechaEvento = value; }
}
[Required(ErrorMessage = "Especificar total horas evento")]
[Display(Name = "Total Horas")]
public double horasEvento
{
get { return HorasEvento; }
set { HorasEvento = value; }
}
//[DisplayFormat(DataFormatString = "{0:#.####}")]
public double PrecioEvento { get; set; }
public string acme { get; set; }
#endregion
#region Datos Empleado
private string NombreEmpleado;
private string ApellidoEmpleado;
private string SexoEmpleado;
private string CargoEmpleado;
private string NivelEmpleado;
private string ISSSEmpleado;
private string DUIEmpleado;
private int grupo;
[Required(ErrorMessage = "Especificar nombres de empleado")]
[Display(Name = "Nombres")]
public string nombreEmpleado
{
get { return NombreEmpleado; }
set { NombreEmpleado = value; }
}
[Required(ErrorMessage = "Especificar apellidos de empleado")]
[Display(Name = "Apellidos")]
public string apellidoEmpleado
{
get { return ApellidoEmpleado; }
set { ApellidoEmpleado = value; }
}
[Required(ErrorMessage = "Especificar genero")]
[Display(Name = "Genero")]
public string sexoEmpleado
{
get { return SexoEmpleado; }
set { SexoEmpleado = value; }
}
[Required(ErrorMessage = "Especificar cargo de empleado")]
[Display(Name = "Cargo")]
public string cargoEmpleado
{
get { return CargoEmpleado; }
set { CargoEmpleado = value; }
}
[Required(ErrorMessage = "Especificar nivel organizacional")]
[Display(Name = "Nível Organizacional")]
public string nivelEmpleado
{
get { return NivelEmpleado; }
set { NivelEmpleado = value; }
}
[Required(ErrorMessage = "Especificar ISSS de empleado")]
[Display(Name = "Numero ISSS")]
[RegularExpression("([0-9]{9})", ErrorMessage = "formato incorrecto de numero de ISSS")]
public string IsssEmpleado
{
get { return ISSSEmpleado; }
set { ISSSEmpleado = value; }
}
[Required(ErrorMessage = "Especificar DUI de empleado")]
[Display(Name = "Numero DUI")]
[RegularExpression("([0-9]{8}-[0-9]{1})", ErrorMessage = "formato incorrecto de numero de DUI")]
public string DuiEmpleado
{
get { return DUIEmpleado; }
set { DUIEmpleado = value; }
}
[Required(ErrorMessage = "especificar Grupo")]
[Display(Name = "Grupo")]
[Range(1, 9999, ErrorMessage = "grupo no valido")]
[RegularExpression(@"^(((\d{1})*))$", ErrorMessage = "Grupo no valido")]
public int Grupo
{
get { return grupo; }
set { grupo = value; }
}
[Required(ErrorMessage = "Especificar numero de ISSS a consultar")]
[Display(Name = "Numero ISSS")]
[RegularExpression("([0-9]{9})", ErrorMessage = "formato incorrecto de numero de ISSS")]
public string ISSSBuscar { get; set; }
public string DUIME {get; set;}
public string telefono { get; set; }
public string fax { get; set; }
public string correo { get; set; }
public string responsable { get; set; }
public decimal aporte { get; set; }
public string proveedor { get; set; }
public string NombreEmpresa { get; set; }
public string accion { get; set; }
public string respuesta { get; set; }
#endregion
第一个视图向第二个视图提交模型,并填写相应的属性。我的问题是,为了不在第二个视图中显示验证消息,我需要做什么?
您能帮我编辑数据吗。不要使用数据模型。为您的视图创建两个视图模型。谢谢,有什么区别?您能举个例子吗?第一个视图有一个视图模型,其中只包含要显示/编辑的属性,第二个视图模型(可能从第一个视图继承)。提交第二个视图时,将映射到数据模型的实例并保存数据模型。也请参考哦,我也在考虑使用[HttpGet]和[HttpPost],第一个接收模型(正如您所建议的,只有我想要获取的属性的模型),然后显示视图,当第二个视图提交信息时,使用[HttpPost]执行操作属性将接收它…开始之前我的问题:不显示validationmessage会有帮助吗?