0

我在一个页面中有 2 个用户控件,当 1 个回发并正常工作(上传文件)时,我希望另一个(上传的所有文件的列表)正确刷新。

几乎需要刷新的用户控件只包含一个 ListView,其中包含通过 LINQ to Entities 查询填充的自定义数据源。

没有更新面板,也没有涉及 AJAX。(此时 AJAX 是不可能的,因为学习 .NET 中的所有其他小东西已经足够耗时了;我还不想打开 AJAX 蠕虫罐,不管我多么想大致学习一下。)

所以基本上我想知道如何让该死的 ListView 随时更新页面上的任何内容 - 无论它是否在用户控件中,无论是另一个用户控件,页面还是其他任何回发的东西,并且没有完全重新加载通过重定向页面。

可能的?

4

2 回答 2

0

实现你想要的理想方式是发起一个事件。

让我们这么说;

  • 包含 FileUpload 控件的用户控件称为 uc1
  • 包含您的 ListView 的用户控件称为 uc2

然后你需要;

  • 获取 uc1 以引发事件
  • 获取页面以监听该事件,并在页面的事件处理程序中,调用 uc2 的公共函数来数据绑定 ListView

如果您需要任何代码或示例,请告诉我们。

达伦

于 2013-08-16T00:52:20.507 回答
0

好吧,没关系,我猜。让它在 PreRender 期间更新其数据源符合我的目的,实际上,现在我考虑一下,可能是 ListView 没有更新的原因。在其他用户控件有机会执行其操作之前,它正在加载更新。

但是,我显然不能只在 PreRender 上运行我的函数来更新它的数据源,因为这使得 Javascript 发生了一些奇怪的事情(确认删除)。我不知道为什么会这样。我可能需要进一步测试那是什么。

所以,现在我只是在 Load 和 PreRender 上运行它(浪费资源,但至少它现在可以按我想要的方式工作)。

于 2013-08-16T00:22:11.857 回答