Как узнать, является ли его представление или частичное представление из контекста контроллера? - PullRequest
1 голос
/ 25 ноября 2011

Я хочу узнать, получаю ли я ошибку при просмотре или при частичном просмотре. Или вообще, как мы узнаем, является ли его представление или частичное представление из контекста контроллера.

Ответы [ 2 ]

1 голос
/ 25 ноября 2011

Лучшее, что вы можете сделать, это добавить bool в ViewBag.isPartial из контроллера.

Вы всегда хотите использовать держатели для такой информации и никогда не обнаруживать их на стороне обзора, если хотите быть действительно в духе MVC.

Кроме того, обычно не рекомендуется использовать один и тот же вид как частичный, так и основной. Это означает, что вы не продумали ту роль, которую он играет.

Наиболее распространенным вариантом использования подобного параметра является изменение макета, т. Е. Для мобильных устройств, Интернета и т. Д.

1 голос
/ 25 ноября 2011

Получить трассировку стека и попытаться обработать ее там, где есть ошибка. Если вам нужно сделать это в коде, вы, вероятно, можете использовать класс StackTrace или StackTrace из исключения, если вы его ловите.

вы можете обработать трассировку стека следующим образом:

var stackTrace = new StackTrace(true);
        foreach (var r in stackTrace.GetFrames())
        {
            Console.WriteLine("Filename: {0} Method: {1} Line: {2} Column: {3}  ",
                r.GetFileName(),r.GetMethod(), r.GetFileLineNumber(),
                r.GetFileColumnNumber() );
        }

и свойство fileName, которое вы можете увидеть, соответствует ли оно вашему частичному файлу класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...