2016-06-19 3 views
0

Когда я ввожу данные в форму, я получаю сообщение об ошибке «при преобразовании строки в дату и время», проанализируйте строку, чтобы принять дату, прежде чем помещать каждую переменную в объект DateTime ». Я попытался изменить формат строки и жестко закодировал viewModel.Date, viewModel.Time, но я все еще получаю сообщение об ошибке, когда кто-нибудь может предложить способ преодолеть это?Ошибка формата ввода даты и времени

public ActionResult Create(GigFormViewModel viewModel) 
{ 
    var artistId = User.Identity.GetUserId(); 
    var artist = _context.Users.Single(u => u.Id == artistId); 
    var genre = _context.Genres.Single(g => g.Id == viewModel.Genre); 
    var gig = new Gig 
    { 
     Àrtist = artist, 
     DateTime = DateTime.Parse(string.Format("{0}{1}", viewModel.Date, viewModel.Time)), 
     Genre = genre, 
     Venue = viewModel.Venue 
    }; 
    _context.Gigs.Add(gig); 
    _context.SaveChanges(); 

    return RedirectToAction("Index", "Home"); 
} 


public class Gig 
{ 
    public int Id { get; set; } 

    [Required] 
    public ApplicationUser Àrtist { get; set; } 

    public DateTime DateTime { get; set; } 

    [Required] 
    [StringLength(255)] 
    public string Venue { get; set; } 

    [Required] 
    public Genre Genre { get; set; } 

} 

public class GigFormViewModel 
{ 
    public string Venue { get; set; } 
    public string Date { get; set; } 
    public string Time { get; set; } 
    public int Genre { get; set; } 
    public IEnumerable<Genre> Genres { get; set; } 
} 
+2

Какие значения '' viewModel.Date' и ViewModel. Time'? –

ответ

1

Проблема здесь:

DateTime = DateTime.Parse(string.Format("{0}{1}", viewModel.Date, viewModel.Time)), 

вы должны поставить "пространство" между {0} и {1}:

+0

спасибо, что не поняли, что место будет проблемой – gkhan

+0

Помогло ли вам это? –

+0

Привет, Рома, да, это решило мою проблему. Большое спасибо за помощь – gkhan