我正在制作一个用户控件,整个内容都在一个updatepanel中。 我在div中放了一个下拉列表(以及其他一些东西),将div显示为none,并在点击按钮后弹出jquery弹出窗口。
问题在于,当它不在jquery弹出窗口内(并且从页面加载开始可见)时,它可以无缝地工作。但是在jquery popup中打开它后,它拒绝对selectedindexchanged做出反应。
以下是代码的重要部分:
加载控件的示例页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="homebed.aspx.cs" Inherits="txwebsite._testbed.homebed" %>
<%@ Register TagPrefix="tx" TagName="querycriteria" Src="../_userctrls/querycriteria.ascx" %>
该示例页面内的Scriptmanager:
<asp:ScriptManager ID="ScriptManager1" EnablePartialRendering="true" EnableViewState="true" runat="server"></asp:ScriptManager>
我的用户控件的第一行:
<%@ Control Language="C#" EnableViewState="true" AutoEventWireup="true" CodeBehind="querycriteria.ascx.cs"
Inherits="TelefileWebsite._userctrls.querycriteria" %>
<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" ChildrenAsTriggers="true" runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddProvince_kharid" EventName="SelectedIndexChanged" />
</Triggers>
<ContentTemplate>
包含dropdownlist的div的定义:
<div id="divContentToPopup" style="display:none;">
未触发选择的下拉列表已解决并导致问题:
<asp:DropDownList ID="ddProvince_kharid" AutoPostBack="true"
CssClass="ddforpopup" style="margin-right:7px;" runat="server"
onselectedindexchanged="ddProvince_kharid_SelectedIndexChanged">
</asp:DropDownList>
selectedindexchanged definition:
protected void ddProvince_kharid_SelectedIndexChanged(object sender,EventArgs e) {
整个jquery代码:
$(function () {
// ---------------------------------------
// Popup opening
// ---------------------------------------
var fn_kharid_LoadGeoWindow = function (e) {
$(this).speedoPopup(
{
width: 598,
useFrame: false,
effectIn: "zoomIn",
effectOut: "slideZoom",
css3Effects: "zoomOut",
href: "#divContentToPopup"
});
}
var btnchooseregion_kharid = $('#btnChooseRegion_kharid');
btnchooseregion_kharid.click(fn_kharid_LoadGeoWindow);
}); // Document Ready
我检查了整个stackoverflow和许多其他网站,但没有一个建议解决方案:
答案 0 :(得分:0)