2016-10-06 3 views
-2

У меня есть ошибка на unauthenticatedEnquiryViewModel.CCommmunication;, в которой упоминается, что неявно можно преобразовать тип «PCSS.Portal.Models.UnauthenticatedEnquirtyViewModels.Communcation?» к int. Преобразование explit существует (Вы не бросили?)Невозможно неявно преобразовать тип?

if (ModelState.IsValid) 
{ 
var unauthenticatedFormSubmission = new PCSS.Portal.DataAccess.Models.UnauthenticatedFormSubmission(); 

unauthenticatedFormSubmission.FirstName = unauthenticatedEnquiryViewModel.FirstName; 
unauthenticatedFormSubmission.LastName = unauthenticatedEnquiryViewModel.LastName; 
unauthenticatedFormSubmission.PreferredContactMethod = unauthenticatedEnquiryViewModel.CCommmunication; //error 

Мой сериализации класс

[Serializable] 
public class UnauthenticatedFormSubmission 
{ 
    public string FirstName; 
    public string LastName; 
    public string Telephone1; 
    public int PreferredContactMethod; 

Моя модель

public class UnauthenticatedEnquiryViewModel : IValidatableObject 
    { 
     [StringLength(35, ErrorMessage = "Name cannot be longer than 35 characters.")] 
     [RegularExpression(@"^[a-zA-Z]+$", ErrorMessage = "Please use characters only.")] 
     [Required(ErrorMessage = "Please fill in the required field.")] 
     public string FirstName { get; set; } 

     [StringLength(35, ErrorMessage = "Last name cannot be longer than 35 characters.")] 
     [RegularExpression(@"^[a-zA-Z]+$", ErrorMessage = "Please use characters only.")] 
     [Required(ErrorMessage = "Please fill in the required field.")] 
     public string LastName { get; set; } 

     [StringLength(100, ErrorMessage = "Email cannot be longer than 35 characters.")] 
     [DataType(DataType.EmailAddress)] 
     [RegularExpression("^[a-zA-Z0-9_.-][email protected][a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$", ErrorMessage = "Must be a valid email i.e. [email protected]")] 
     public string Email { get; set; } 

     [Required(ErrorMessage = "Please select preferred way of communication option")] 
     public Commmunication? CCommmunication 
     { get; set; } 

     public enum Commmunication 
     { 
      [Display(Name = "Email", Order = 0)] 
      Email, 

      [Display(Name = "Mobile telephone", Order = 1)] 
      TelephoneNo, 

      [Display(Name = "Alternative telephone", Order = 2)] 
      TelephoneNoAlternative 
     } 
+5

Какая часть ошибка вы не понимаете? – SLaks

+0

Так явно ли это использовать с помощью '(int)'? – ThePerplexedOne

+0

Предположительно свойство 'CCommunication' имеет тип' PCSS.Portal.Models.UnauthenticatedEnquirtyViewModels.Communcation' и 'PreferredContactMethod' имеет тип' int'. Не зная ничего о том, чего вы пытаетесь достичь, или о том, что означают эти свойства, мы не можем вам помочь ... –

ответ

1

Сэм вобще

unauthenticatedFormSubmission.PreferredContactMethod = (int)unauthenticatedEnquiryViewModel.CCommmunication;