ModelView ...
public class FieldIndexViewModel
{
//Field Field { get; set; } //maybe?
public long Id { get; set; }
В моем контроллере c # у меня есть "Id", который напечатан как long
.Это все хорошо.
// store our fieldlist ids for prev and next iterations
long[] tempData = FieldIndexViewModels.Select(s => s.Id).ToArray();
TempData["FieldList"] = tempData;
return View(FieldIndexViewModels);
}
В моем методе get
FieldList изменяется на int
, поэтому приведенное ниже не выполняется с ошибкой предиката.Исходные данные показывают, что теперь это int/int32
.
// GET: Fields/Edit/5
[Authorize]
public async Task<IActionResult> Edit(long? id, int? tn, int? workPy)
{
// grab field list from tempdata
List<long> FieldList = new List<long>();
if (TempData.ContainsKey("FieldList"))
{
long[] ids = (long[])TempData["FieldList"];
List<long> temp = ids.ToList(); ;
FieldList.AddRange(temp);
}
Почему TempData меняет их и где?Они показывают долго в сырых данных прежде, чем начальный метод существует.
Хорошо
Плохо
Тот же класс ... не перезаписан, за исключением строки 315, которая теперь является новой, поэтому я могу продолжать кодирование (просто приведение int32 к long) сейчас
**** Совершенно новое ядро ASP WebApp **** Та же проблема?!?