代码之家  ›  专栏  ›  技术社区  ›  WesleyJohnson

DropDownList在iframe中回发时丢失项目

  •  0
  • WesleyJohnson  · 技术社区  · 15 年前

    在ASP.NET中有一个关于回发的非常奇怪的问题。我让页面在页面加载时动态填充DropDownlist,前提是它不是回发。页面上还有几个文本框供用户输入。

    如果我通过单击提交按钮或通过SelectedIndexChanged事件回发,文本框将保留它们的值,但DropDownList将丢失所有项目-但仅当通过iframe加载页面时。如果我直接载入页面,一切正常。如果我通过iframe加载它,那么除了下拉列表之外的所有内容都可以工作。

    以前有人遇到过这种行为吗?我不认为这很重要,但我在windows7、iis7、asp.net 3.5和ie8上浏览。ViewState已启用,这在保持其值的文本框中很明显。ASP.NET页位于宿主在localhost上的webapp中。包含iframe标签的页面只是一个虚拟的HTML文件,放在桌面上进行测试。这可能只是一个IE安全问题吗?

    更新: 实际上,我只是将“虚拟”容器页面移到了webapp中,即使通过iframe,它也能正常工作。不过,我想知道如果包含网页在webapp之外,为什么会发生这种情况,因为我打算让人们通过其他域加载网页并iframe。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Bryan    15 年前

    这可能是一个视图状态问题。文本框控件中的值来自Post数据,而不是ViewState,因此没有迹象表明它工作正常。