【问题标题】:DropdownList losing items on postback in iframeDropdownList 在 iframe 中回发时丢失项目
【发布时间】: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


    【解决方案1】:

    这可能是 ViewState 问题。 TextBox 控件中的值来自发布数据,而不是 ViewState,因此并不表示它工作正常。

    【讨论】:

    • 谢谢,我认为当尝试通过具有嵌套 iFrame 的本地文件(如 c:\etc\etc\test.html)执行此操作时,IE 中的安全设置很奇怪。如果我将该文件放入任何合法网站并通过正确的 http:// url 加载,它就可以工作。很奇怪。
    • +1 获取有关 ViewState 的信息,顺便说一句。我也刚刚投票结束了这个问题。
    猜你喜欢
    • 2015-01-17
    • 1970-01-01
    • 2010-11-21
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-23
    相关资源
    最近更新 更多