Динамический (ExpandoObject) и статический тип (Модель) в asp.net mvc
Динамический и статический тип в asp.net mvc
Автомобиль лучше мотоцикла? Все зависит от сценария, который вы используете. Не зная сценария, это невозможно сделать!
Динамическая типизация лучше, чем статическая, для определенных проблем / ситуаций.
В этом случае
Мне нужно показать представление, когда вызывается метод OnException() BaseController. Это один раз, и я показываю страницу с ошибкой один раз вместо желтого экрана смерти.
Предположим, мне нужно показать ErrorMessage и Stacktrace в представлении. Поскольку это единовременно, лучше использовать динамический метод, чем создавать для этого модель ошибок.
dynamic obj = new ExpandoObject();
obj.ErrorMessage = "message";
obj.StackTrace = "bla bla bal";
return to view.
Какова лучшая практика. Спасибо за ответ.
1 ответ
"Является ли динамическая типизация лучше, чем статическая, для определенных проблем / ситуаций".
Конечно.
"Предположим, мне нужно показать ErrorMessage и Stacktrace в представлении. Поскольку это единовременно, лучше использовать динамический режим, чем создавать для этого модель ошибок".
В этом случае у вас обычно есть модель представления, которая может содержать ошибки. Иногда я использую класс модели базового вида с:
public class ViewModelBase
{
public string ErrorMessage { get; set; }
}
Чаще всего я помещаю ошибки в TempData:
TempData["Errors"] = "";