Создание модели представления:
public class MyViewModel
{
public string ErrorMessage { get; set; }
public string StackTrace { get; set; }
}
Настройте представление для использования этой модели представления:
@model MyViewModel
<strong>Application Error:</strong><br /> @Model.ErrorMessage <br>
<span>@Model.StackTrace</span>
Затем отправьте экземпляр этой модели представления в ваше представление:
return View("Error", model: new MyViewModel { ErrorMessage = errorMessage, StackTrace = stackTrace });
Если вы не хотите создавать отдельный класс для этого, что-то вроде Tuple<string, string>
будет работать так же хорошо, как модель представления, только с менее интуитивно понятными именами свойств.Любой тип может быть моделью представления.Вам просто нужно указать этот тип в объявлении @model
в верхней части представления и передать экземпляр этого типа представлению.
Редактировать: Если вы хотите использоватьTuple<string, string>
тогда настройка будет такой же, как у любого типа.Объявите и используйте тип в модели:
@model Tuple<string, string>
<strong>Application Error:</strong><br /> @Model.Item1 <br>
<span>@Model.Item2</span>
И передайте экземпляр этого типа модели:
return view("Error", model: new Tuple<string, string>(errorMessage, stackTrace));
Однако помните о неинтуитивном именовании.«Item1» и «Item2» на самом деле не передают никакой информации о том, что это за значения.
Примечание для OP и будущих читателей ... Использование string
в качестве модели представления, вероятно, не очень хорошая идея.Перегрузка метода View()
может привести к путанице при передаче строки, предназначенной для модели, но интерпретируемой, например, как имя представления.В общем случае лучше использовать пользовательские (или, по крайней мере, не примитивные) типы в качестве моделей представления.Даже если эти типы имеют или нуждаются только в одном свойстве.