Как получить макет, используемый частичным представлением?

#c# #asp.net #razor

#c# #asp.net #razor

Вопрос:

У меня есть несколько макетов (мастер-страниц) в моем проекте, и я хочу выполнить некоторые условия для общих частичных страниц на основе макета, который используют эти страницы. Есть ли какой-нибудь способ получить страницу макета, которую используют эти части?

До сих пор я пытался:

 @{
  if (Layout == "_MasterPage") //layout always come as NULL, even thought it is being used correctly
}
  

Есть ли какой-либо другой способ проверить используемый макет?

Ответ №1:

«Есть ли какой-либо другой способ проверить используемый макет?»

Да, это так. Вы можете использовать определенную модель (и использовать обычное наследование ООП) и проверить свою частичную, например.

Кроме того, это похоже на взлом, но ничто не мешает вам определить файл cookie или что-то в этом роде при использовании той или иной главной страницы и проверить это в вашем partial.