【发布时间】:2009-11-30 19:28:51
【问题描述】:
关于 ASP.NET 中的回发有一个非常奇怪的问题。我有页面动态填充 Page_Load 上的 DropdownLists,只有当它不是回发时。我在页面上还有几个文本框供用户输入。
如果我通过单击提交按钮或通过 SelectedIndexChanged 事件进行回发,文本框会保持其值,但 DropdownLists 会丢失所有项目 - 但只有当页面是通过 iFrame 加载时。如果我直接加载页面,一切正常。如果我通过 iFrame 加载它,除了下拉菜单之外的所有内容都可以使用。
以前有没有人遇到过这种行为?我认为这并不重要,但我在 Windows7、IIS7、ASP.NET 3.5 上使用 IE8 浏览。 ViewState 已启用,这从具有持久值的文本框可以看出。 ASP.NET 页面位于 localhost 上托管的 WebApp 中。带有 IFrame 标记的包含页面只是我桌面上用于测试的一个虚拟 HTML 文件。这可能只是一个 IE 安全问题吗?
更新: 实际上,我只是将“虚拟”容器页面移动到 Webapp 中,它似乎工作正常,即使通过 iFrame 也是如此。不过,我想知道如果包含页面在 Webapp 之外,为什么会发生这种情况,因为我打算让人们通过其他域加载页面和 iFrame..
【问题讨论】:
标签: asp.net iframe postback viewstate