gpt4 book ai didi

c# - MVC 创建功能不会将创建的轨道添加到列表

转载 作者:太空宇宙 更新时间:2023-11-03 20:54:29 26 4
gpt4 key购买 nike

我的 MVC 应用程序有问题。该应用程序是关于一个轨道列表,其中有一个名为创建轨道的功能。

我已经创建了一个数据提供者类,它将虚拟数据添加到列表中。然后列表会显示在页面上。该列表本身有效,并且显示虚拟数据。现在我在我的 Controller 中创建了一个创建操作,如下所示:

public ActionResult Create(FormCollection collection)
{
try
{
// TODO: Add insert logic here

int hours = int.Parse(collection["Hours"]);
int minutes = int.Parse(collection["Minutes"]);
int seconds = int.Parse(collection["Seconds"]);
Track track = new Track();
track.Name = collection["Name"];
track.Artist = collection["Artist"];
track.AlbumSource = collection["AlbumSource"];
track.length = new AudioDevices.Time(hours, minutes, seconds);
track.Style = (Category)Enum.Parse(typeof(Category), collection["style"]);
trackList.Add(track);
return RedirectToAction("Index");
}
catch
{
return View();
}
}

现在...当我启动我的应用程序时,我单击创建。在那里我输入我的轨道信息并单击保存。现在,当它保存时,我返回到我的轨道列表,但该轨道没有添加到我的列表中。

我的 Visual Studio 显示代码已处理 2 个请求,没有任何错误。它只是没有被添加到列表中。

我知道我没有使用数据库,而且我不想使用数据库,因为在本练习中不需要它。我知道重启程序后轨道会消失。

我在 trackcontroller.cs 的末尾实例化了这样的轨道列表:

private static List<Track> trackList;

public TrackController()
{
if(trackList == null)
{
trackList = DataProvider.GenerateDefaultTracks();
}
}

最佳答案

如果您的代码遵循标准模式,则每次在 Controller 中调用您的 Create 函数时,都会创建一个新的 Controller 。如果您的对象 trackList 是在构造函数中创建的,那么每次调用 Create 都会创建一个新的对象,给人一种什么都没发生的印象。

关于c# - MVC 创建功能不会将创建的轨道添加到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51967236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com