列表在方法中间被清空
这让我感到困惑 - 我不是页面生命周期方面的专家,但我不明白为什么会发生这种情况。这可能是我声明我的列表的一个简单情况。代码如下: 逻辑
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
嗯,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.
因为您没有使用 allModules 参数调用 populateModulesDropDown ,也没有调用 allModules.populateModulesDropDown 的实例
Because you are not calling populateModulesDropDown with either a parameter of allModules or not invoking the instance of allModules.populateModulesDropDown
由于之前进行更改时忽略了一行,我从 getAllModules() 返回了不同的 List 对象。抱歉和感谢
I was returning a different List object from getAllModules() due to an overlooked line when making changes earlier. Apologies and thanks