2015-12-16 5 views
0

Я прочитал эту ссылку: https://www.future-processing.pl/blog/view-code-reuse-techniques-in-asp-net-mvc/Повторное использование кода в нескольких Mvc просмотров

Я не могу использовать любой из этих вспомогательных путей ...

Я должен показать на нескольких сайтах Mvc эту строку:

1612-1

Это номер запроса: 16 - это день месяца, 12 месяца месяца и 1 - идентификатор базы данных. Я уверен, что это не будет окончательным, но пока мы принимаем его как данность.

public class MyViewModel 
    { 
     public string City { get; set; } 
     public string PostalCode { get; set; } 
     public List<string> ActionItemDescriptions { get; set; } 
     public string InquiryNumber { get; set; } 
    } 

Где бы вы хотели создать InquiryNumber?

Если я положил его внутрь бритвы, я не могу его повторно использовать.

+0

Вы можете показать свой просмотр? – Zergling

ответ

1

Кажется, бизнес-логика для меня, поэтому она принадлежит к бизнес-слою.

Затем из вашего контроллера вы:

  • вызова бизнес-компонент, который возвращает запрос номер
  • сохранить номер в вашей модели представления
  • передать модель представления к представлению.
+0

бизнес логики? Для меня это логика представления. – Elisabeth

+1

Расчет номера запроса вообще не представляет логики представления. Логика представления - это представление данных пользователю и все о манипуляции с пользовательским интерфейсом, но не вычисление. Это то, что вам, вероятно, нужно и за пределами пользовательского интерфейса, например, в фоновых процессах и т. Д. –

+1

В любом случае, если по вашему мнению это не бизнес-логика, принцип остается тем же: вы рассчитали его компонентом, который вызывается из контроллера. –

0

Одним из способов вы можете получить запрос номер, без использования помощника, заключается в следующем:

В контроллере есть следующий метод действия:

public ActionResult GetInquiryNumber() 
{ 
    // TODO : The code to get the inquiry number. 
    return Content("1612-1"); 
} 

Вы можете назвать этот метод в любом виде вы хотите, используя следующие:

@{ Html.RenderAction("GetInquiryNumber", "Home"); }

Очевидно, что вы будете пе чтобы придумать свой собственный метод и контроллеры, имена.

Это не идеальный способ передачи данных в представление (предпочтительнее использовать модель просмотра), но вышеуказанный подход является для вас вариантом.

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