【问题标题】:Ajax loaded div, autopost back on loaded page doesn't workAjax加载的div,加载页面上的自动回发不起作用
【发布时间】:2011-10-03 16:23:44
【问题描述】:

我有一个运行 jquery onclick 事件的页面。该事件将外部 .aspx 文件加载到 div 中。正在加载的页面有一个带有自动回发属性的下拉列表,该属性将所选项目传递给标签。

一切正常,只是正在加载的 .aspx 文件只会回发一次。之后不再自动回发。这是我的代码

----- 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 和回发放入 external.aspx 引用的控件中,但这也不起作用。

【问题讨论】:

    标签: jquery .net asp.net ajax


    【解决方案1】:

    我会尝试在OnSelectedIndexChanged 事件中使用Server.Execute 将外部页面加载到DIV 中。确保将 runat="server" 添加到 DIV,或将 div 更改为 Panel(解析为 DIV)

    【讨论】:

    • 细节?当 UL 是客户端标记时,如何使用 OnSelectedIndexChange 加载 div?
    • 当ddlPrices的选定索引发生变化时,您想将页面加载到subItem吗?
    • 对。那么我可以使用什么样的脚本。我的
        没有在服务器级别运行。我将如何从 jquery 执行 Server.Execute 函数?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-23
    • 1970-01-01
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 2012-07-10
    相关资源
    最近更新 更多