Я работаю над проектом в программировании MVC asp.net на C#.Свойство становится NULL при перенаправлении на другое действие с параметром
Мой arena
класс имеет 5 свойств:
public int Id { get; set; }
public int CharacterId { get; set; }
public int Forfeit { get; set; }
public System.DateTime Queued { get; set; }
public virtual Character Character { get; set; }
Когда я модель Arena
из базы данных с помощью этого:
var arenaModel = ctx.Arenas.FirstOrDefault(a => a.Character.AccountId == currentUserId);
Ничто не является пустым, есть персонаж, идентификатор есть , неустойки и очереди. Но когда я перенаправлять на другое действие с помощью этого:
return RedirectToAction("BattleNPC", arenaModel);
и с использованием точки останова в методе BattleNPC
public ActionResult BattleNPC(Arena model)
{
var character = model.Character; // <-- Null
}
Внезапно свойство для Character
имеет нулевое значение, я все еще могу получить увидеть другие свойства тонких но Character
стать null.
Почему? Может кто-нибудь объяснить, почему Character
становится null. Я знаю, как это исправить, я просто не понимаю, почему он становится нулевым.
'' Character' является null', потому что внутренне ' Метод RedirectToAction() 'генерирует значения строки запроса на основе значения' .ToString() 'каждого свойства в вашей модели. И для вашего последнего свойства это возвращает '& Character =" yourAssembly.Character "', который не может быть привязан к tyeof 'Character' –