列表在方法中间被清空

发布于 2024-09-16 13:53:26 字数 651 浏览 7 评论 0原文

这让我感到困惑 - 我不是页面生命周期方面的专家,但我不明白为什么会发生这种情况。这可能是我声明我的列表的一个简单情况。代码如下: 逻辑

public partial class feedback : System.Web.UI.Page
{
    List<Module> allModules = new List<Module>();

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            allModules = getAllModules();

            // Populate dropdown list of modules
            populateModulesDropDown();
...

是这样的:列表“allModules”在 getAllMethods() 方法中填充了名为“Module”的类的对象。我已经调试并逐步完成了每个步骤的测试。 allModules 的计数为 9,但当我进入下一行运行 populateModulesDropDown() 方法时 - 计数为零..发生了什么事?

任何帮助都会很棒 - 谢谢

弗兰克

this has me puzzled - I am no expert on page life cycle but I do not see why this is happening. It may be a simple case of where I declare my list. Here is the code:

public partial class feedback : System.Web.UI.Page
{
    List<Module> allModules = new List<Module>();

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            allModules = getAllModules();

            // Populate dropdown list of modules
            populateModulesDropDown();
...

The logic is this: the List 'allModules' get populated with Objects of a class called 'Module' in the getAllMethods() method. I have debugged and stepped through it testing on each step. allModules has a count of 9 as it should but when i step to the next line to run the populateModulesDropDown() method - the count is zero.. What is going on??

Any help would be awesome - thanks

Frank

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

简单 2024-09-23 13:53:27

嗯,List 是类中的一个字段,因此同一类中的其他方法可以访问它。也许某种方法正在清除它或分配它?尝试使用 IDE 查找该字段的所有引用,并查找对该字段的任何分配。

Well, the List is a field in your class, so other methods in the same class will have access to it. Perhaps some method is clearing it or assigning it ? Try to use the IDE to find all references of the field, and look for any assignments to the field.

樱娆 2024-09-23 13:53:27

因为您没有使用 allModules 参数调用 populateModulesDropDown ,也没有调用 allModules.populateModulesDropDown 的实例

Because you are not calling populateModulesDropDown with either a parameter of allModules or not invoking the instance of allModules.populateModulesDropDown

梦里兽 2024-09-23 13:53:27

由于之前进行更改时忽略了一行,我从 getAllModules() 返回了不同的 List 对象。抱歉和感谢

I was returning a different List object from getAllModules() due to an overlooked line when making changes earlier. Apologies and thanks

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文