我有一个运行jquery onclick事件的页面。该事件将外部.aspx文件加载到div中。正在加载的页面有一个下拉列表,其中包含一个autopostback属性,用于将所选项目传递给标签。
除了正在加载的.aspx文件只返回一次之外,一切正常。之后不再有autopostback。这是我的代码
----- external.aspx ------
<script>
protected void ddlPrices_SelectedIndexChanged(object sender, EventArgs e)
{
lblPrice.Text = ddlPrices.SelectedValue.ToString();
}
</script>
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="ddlPrices" runat="server" AutoPostBack="true"
onselectedindexchanged="ddlPrices_SelectedIndexChanged">
<asp:ListItem>Basic</asp:ListItem>
<asp:ListItem>Pro</asp:ListItem>
<asp:ListItem>Platinum</asp:ListItem>
<asp:ListItem>Baller!</asp:ListItem>
</asp:DropDownList>
<asp:Label ID="lblPrice" runat="server"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
---- default.aspx ------
<script>
$(document).ready(function () {
$("li#empNav1").click(function () {
$("div.subItem").load('external.aspx');
});
});
</script>
<ul class="nav-left">
<li id="empNav1" class="selected"><a href="#">Employer Overview</a></li>
<li id="empNav2"><a href="#">Why We're Better</a><span></span></li>
</ul>
<div class="subItem"></div>
如上所述div加载得很好,但external.aspx只会更新lblPrice一次。然后它不再自动更新。任何帮助将非常感谢具体细节....
更新我已经尝试将ddl和postback放入external.aspx引用的控件中,但也不起作用。
答案 0 :(得分:0)
我会尝试使用Server.Execute
将外部页面加载到OnSelectedIndexChanged
事件中的DIV中。确保将runat="server"
添加到DIV,或将div更改为Panel(解析为DIV)