У меня есть веб-игра, созданная с использованием .netCore 2 и платформы сущностей.
Игра работает, но я только что добавил новую функцию.В одном из представлений пользователь может нажать кнопку, которая создает нового персонажа через контроллер.
Вот этот метод контроллера:
public async Task<IActionResult> AddCharacter(Guid playerId)
{
ICharManagement charMgr = new CharManagementClient();
Character newCharacter = await charMgr.AddCharacterAsync(
"Test Character",
new Guid("1e957dca-3fe1-4214-b251-a96e0106997a")
);
var newCharacterObject = newCharacter;
return View(newCharacterObject);
}
The Character object is from an API I use and it looks like this:
public partial class Character : object
{
private System.Guid Id;
private string Name;
private System.Nullable<System.DateTime> DateCreated;
private int32 CharPlayer;
private bool Playable;
}
Переход по контроллеру в Visual Studio,Я вижу, что возвращается новый объект Character, и newCharacterObject выглядит следующим образом:
Id "1e957dca-3fe1-4214-b251-a96e0106997a"
Name "Test Character"
DateCreated "2/12/2019"
CharPlayer 3821
Playable "true"
На мой взгляд (cshtml) у меня установлена модель:
@model IEnumerable<Character>
Однако, когда я запускаю его, я получаю эту ошибку:
InvalidOperationException: элемент модели, передаваемый в ViewDataDictionary, имеет тип «Character», но для этого экземпляра ViewDataDictionary требуется элемент модели типа «System».Collections.Generic.IEnumerable`1 [Character] '.
Итак, как мне заставить мое представление отображать один объект Character (newCharacterObject) или как мне преобразовать "newCharacterObject" в то, что нужно представлению?
Спасибо!
Редактировать: Форматирование