C# UpdatePanel在查看页面时起作用,但在iFrame内不起作用
目前,我有一个下拉菜单,当一个项目被选中时,它会动态地填充另一个下拉菜单。这在单独查看页面时效果非常好,但是,当我在iframe中查看页面时,当我更改下拉菜单中的选项时,不会发生任何事情。包含iframe的主页面也有一个updatePanel,我觉得可能存在某种路由问题?可能更新无法区分面板,并且正在路由到主页中的面板?感谢您的帮助 主页上的代码与主页中的代码相同,我正在创建一个项目,而在框架页面中,我正在更新一个项目 编辑:更新 我制作了一个测试页面,除了iframe之外,没有任何内容,但仍然无法工作。似乎updatepanel在我的iframe中加载时根本不起作用 aspx:C# UpdatePanel在查看页面时起作用,但在iFrame内不起作用,c#,asp.net,ajax,iframe,updatepanel,C#,Asp.net,Ajax,Iframe,Updatepanel,目前,我有一个下拉菜单,当一个项目被选中时,它会动态地填充另一个下拉菜单。这在单独查看页面时效果非常好,但是,当我在iframe中查看页面时,当我更改下拉菜单中的选项时,不会发生任何事情。包含iframe的主页面也有一个updatePanel,我觉得可能存在某种路由问题?可能更新无法区分面板,并且正在路由到主页中的面板?感谢您的帮助 主页上的代码与主页中的代码相同,我正在创建一个项目,而在框架页面中,我正在更新一个项目 编辑:更新 我制作了一个测试页面,除了iframe之外,没有任何内容,但仍然
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<li>
<asp:DropDownList ID="CategorySelector" runat="server" AutoPostBack="True" OnSelectedIndexChanged="CategorySelector_SelectedIndexChanged">
<asp:ListItem Text="--Please Select--" Value="none"></asp:ListItem>
<asp:ListItem Text="Everything"></asp:ListItem>
<asp:ListItem Text="Product"></asp:ListItem>
<asp:ListItem Text="Brand"></asp:ListItem>
<asp:ListItem Text="Category"></asp:ListItem>
<asp:ListItem Text="SubCategory"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator13" runat="server" ErrorMessage="RequiredFieldValidator" ControlToValidate="CategorySelector" ForeColor="#FF3300" InitialValue="none">*</asp:RequiredFieldValidator>
</li>
<li>
<asp:DropDownList ID="ItemSelector" runat="server">
</asp:DropDownList></li>
</ContentTemplate>
</asp:UpdatePanel>
protected void CategorySelector_SelectedIndexChanged(object sender, EventArgs e)
{
if (CategorySelector.Text == "Product")
{
ItemSelector.DataSource = Product.GetAllActive();
ItemSelector.DataTextField = "Name";
ItemSelector.DataValueField = "ID";
ItemSelector.DataBind();
}
if (CategorySelector.Text == "Category")
{
ItemSelector.DataSource = Category.GetAllActive();
ItemSelector.DataTextField = "Name";
ItemSelector.DataValueField = "ID";
ItemSelector.DataBind();
}
if (CategorySelector.Text == "SubCategory")
{
ItemSelector.DataSource = SubCategory.GetAllActive();
ItemSelector.DataTextField = "Name";
ItemSelector.DataValueField = "ID";
ItemSelector.DataBind();
}
if (CategorySelector.Text == "Brand")
{
ItemSelector.DataSource = Brand.GetAllActive();
ItemSelector.DataTextField = "Name";
ItemSelector.DataValueField = "ID";
ItemSelector.DataBind();
}
if (CategorySelector.Text == "Everything")
{
ItemSelector.Items.Clear();
ItemSelector.Items.Add("Everything");
}
}
问题似乎是我使用fancybox来构建页面。我忘了将iframe类型添加到fancy box设置中,这导致整个页面以内联方式呈现
$(".modify").fancybox({
'type': 'iframe'
});
根据上述添加类型iframe修复了该问题 总是小事情:)