2016-09-08 2 views
-1

Я новичок в MVC. Я хотел знать, можно ли получить доступ к значению свойства в контроллере из модели? Сценарий для валидации, сообщение для проверки должно поступать из свойства контроллера, которое должно быть привязано к модели.Возможно ли получить доступ к свойству контроллера в модели?

EDIT: Пример: Controller.cs

public class RegistrationEmailConfirmController : Controller 
{ 
    public string EmailConfirmation { get; set; } 
} 

Model.cs

public class RegisterEmailModel 
{ 
    [Display(Name = "Your email")] 
    [Required(ErrorMessage = "Please enter a valid email address")]   
    [DataType(DataType.EmailAddress)] 
    [RegistrationValidationModel(**Property to be accessed here**)]   
    public string EmailAddress { get; set; } 
} 

Должен ли я создать экземпляр контроллера для доступа к свойству?

Могу ли я получить помощь по этому вопросу?

+0

Для этого вам нужно создать файл класса для этого. В этом случае вам нужно создать 'RegistrationValidation.cs', и для получения более подробной информации вы можете получить дополнительную информацию по этой ссылке: http://www.c-sharpcorner.com/UploadFile/rahul4_saxena/mvc-4-custom-validation-data-annotation -attribute/ – kirtan

+0

У меня уже есть собственный класс проверки. Моя проблема в том, что мне нужно получить валидационное сообщение из свойства контроллера и передать его в пользовательский класс проверки. Я хочу знать, возможно ли это? –

+0

Почему вы все еще создаете свойства в 'controller'.'Controller' не для свойств. «Модель» - это место, где вы можете добавить все имущество. Если вы пойдете так, вы не сможете использовать принцип 'mvc' очень хорошо ... И вы будете путаться. – kirtan

ответ

0

Поскольку контроллер создает экземпляр модели, вы можете легко передать в Модели все необходимые вам свойства, включая текст сообщения об ошибке, содержащийся в созданном контроллере, или даже (если хотите) экземпляр который создает модель.

+0

Я отредактировал запрос, не могли бы вы помочь в том, как я могу получить доступ к свойству? –

+0

Сообщение для проверки будет сохранено в свойстве контроллера, мне нужно передать это в класс пользовательской проверки модели –

+0

@HarshithaK - как я уже сказал, ваш контролируемый контроль жизненного цикла модели, поэтому, когда ваш контроллер создает экземпляр модели или десериализует его как часть параметров, передаваемых в контроллер, вы можете просто установить сообщение проверки в свойство модели. Пример вашего кода для вашего контроллера не содержит никаких методов действий - это то, где вы должны создавать или десериализовать модель. – PhillipH

Смежные вопросы