C# 使用控制器中的会话传递数据
我正在构建一个项目,用户可以在其中添加团队并选择要添加球员的团队。因此,在添加球员时,团队的ID应随此一起传递。我有一个控制器用于添加团队,另一个控制器用于添加球员。我将团队ID传递给付款人控制器的索引操作方法,并显示所选团队的所有球员团队。现在我想添加该团队的一名球员。我在Index action方法中创建了一个会话来保存ID,并在create action方法中使用它。调试时,我可以看到ID传递正确,但在创建新记录时,球员ID始终为0,因此db.savechanges上出现错误,因为playerID=0 这是我的代码片段: 播放器控制器 playerID始终设置为零。我的代码有什么问题 我之所以使用局部视图,是因为我使用的是CREUD操作的弹出对话框C# 使用控制器中的会话传递数据,c#,asp.net-mvc,session,C#,Asp.net Mvc,Session,我正在构建一个项目,用户可以在其中添加团队并选择要添加球员的团队。因此,在添加球员时,团队的ID应随此一起传递。我有一个控制器用于添加团队,另一个控制器用于添加球员。我将团队ID传递给付款人控制器的索引操作方法,并显示所选团队的所有球员团队。现在我想添加该团队的一名球员。我在Index action方法中创建了一个会话来保存ID,并在create action方法中使用它。调试时,我可以看到ID传递正确,但在创建新记录时,球员ID始终为0,因此db.savechanges上出现错误,因为play
非常感谢您的帮助问题已得到解决。这就是我所做的,它工作得很好
if (ModelState.IsValid)
{
if (cmd == "Save")
{
try
{
var plyr = new player();
/* db.players.Add(Player);
// player pl = db.players.Where(m => m.team == null).FirstOrDefault();
// Player.team = team;
db.SaveChanges();*/
plyr.playerName = Player.playerName;
plyr.team = team;
plyr.position = Player.position;
plyr.email = Player.email;
plyr.type = Player.type;
plyr.height = Player.height;
db.players.Add(plyr);
db.SaveChanges();
return RedirectToAction("Index/" + TeamId);
}
catch { }
}
if (ModelState.IsValid)
{
if (cmd == "Save")
{
try
{
var plyr = new player();
/* db.players.Add(Player);
// player pl = db.players.Where(m => m.team == null).FirstOrDefault();
// Player.team = team;
db.SaveChanges();*/
plyr.playerName = Player.playerName;
plyr.team = team;
plyr.position = Player.position;
plyr.email = Player.email;
plyr.type = Player.type;
plyr.height = Player.height;
db.players.Add(plyr);
db.SaveChanges();
return RedirectToAction("Index/" + TeamId);
}
catch { }
}