C# ASP.NET MVC应用程序首先执行post,而不是get

C# ASP.NET MVC应用程序首先执行post,而不是get,c#,asp.net,asp.net-mvc,sharepoint,C#,Asp.net,Asp.net Mvc,Sharepoint,我有一个Sharepoint提供商托管的应用程序和MCV项目,主页是一个应用程序部分,有2个索引操作,一个get和一个post。问题是,在第一个页面加载中,当用户甚至还没有开始填写表单时,验证就发生了,因为表单直接进入post控制器,而不是get 这个想法是,在索引get中,我应该获得视图,在post中,表单将被提交 视图: 型号: public class Reserva { [Display(Name = "Cabaña")] [StringLength(2, Minimu

我有一个Sharepoint提供商托管的应用程序和MCV项目,主页是一个应用程序部分,有2个索引操作,一个get和一个post。问题是,在第一个页面加载中,当用户甚至还没有开始填写表单时,验证就发生了,因为表单直接进入post控制器,而不是get

这个想法是,在索引get中,我应该获得视图,在post中,表单将被提交

视图:

型号:

 public class Reserva
{
    [Display(Name = "Cabaña")]
    [StringLength(2, MinimumLength = 2)]
    public string Cabana { get; set; }

    [Display(Name = "Cédula")]
    [Required(ErrorMessage = "Por favor escriba su cédula")]
    public int Cedula { get; set; }

    [Required(ErrorMessage = "Por favor escriba sus Nombres")]
    [StringLength(60, MinimumLength = 3, ErrorMessage = "Por favor escriba un valor válido para este campo")]
    public string Nombres { get; set; }

    [Required(ErrorMessage = "Por favor escriba sus Apellidos")]
    [StringLength(60, MinimumLength = 3, ErrorMessage = "Por favor escriba un valor válido para este campo")]
    public string Apellidos { get; set; }

    [Required(ErrorMessage = "Por favor escriba un correo electrónico")]
    [StringLength(60, MinimumLength = 3, ErrorMessage = "Por favor escriba un correo válido")]
    [DataType(DataType.EmailAddress)]
    public string Email { get; set; }

    [DisplayName("Fecha desde")]
    [Required(ErrorMessage = "Por favor escriba una fecha")]
    [DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
    public DateTime FechaDesde { get; set; }

    [DisplayName("Fecha Hasta")]
    [Required(ErrorMessage = "Por favor escriba una fecha")]
    [DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
    public DateTime FechaHasta { get; set; }

    public string Estado { get; set; }
}

将您的
返回视图()
更改为

 return RedirectToAction("Index", new { SPHostUrl = SharePointContext.GetSPHostUrl(HttpContext.Request).AbsoluteUri });

非常感谢!,我添加了return并更改了post-action方法的名称
 public class Reserva
{
    [Display(Name = "Cabaña")]
    [StringLength(2, MinimumLength = 2)]
    public string Cabana { get; set; }

    [Display(Name = "Cédula")]
    [Required(ErrorMessage = "Por favor escriba su cédula")]
    public int Cedula { get; set; }

    [Required(ErrorMessage = "Por favor escriba sus Nombres")]
    [StringLength(60, MinimumLength = 3, ErrorMessage = "Por favor escriba un valor válido para este campo")]
    public string Nombres { get; set; }

    [Required(ErrorMessage = "Por favor escriba sus Apellidos")]
    [StringLength(60, MinimumLength = 3, ErrorMessage = "Por favor escriba un valor válido para este campo")]
    public string Apellidos { get; set; }

    [Required(ErrorMessage = "Por favor escriba un correo electrónico")]
    [StringLength(60, MinimumLength = 3, ErrorMessage = "Por favor escriba un correo válido")]
    [DataType(DataType.EmailAddress)]
    public string Email { get; set; }

    [DisplayName("Fecha desde")]
    [Required(ErrorMessage = "Por favor escriba una fecha")]
    [DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
    public DateTime FechaDesde { get; set; }

    [DisplayName("Fecha Hasta")]
    [Required(ErrorMessage = "Por favor escriba una fecha")]
    [DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
    public DateTime FechaHasta { get; set; }

    public string Estado { get; set; }
}
 return RedirectToAction("Index", new { SPHostUrl = SharePointContext.GetSPHostUrl(HttpContext.Request).AbsoluteUri });