다음과 같은 문제가 있습니다 :다시 게시 문제 후 이미지 채우기
단추를 클릭 할 때 이미지 원본을 채우고 이미지를 ModalPopupExtender 안에 표시하려고합니다. ModalPopupExtender를 열려면 UpdatePanel이 포스트 백을 수행하고 이미지 내부에 적절한 뷰를 표시하게하는 __doPostBack
을 호출합니다. __doPostBack
후 나는 즉시 PopulateImage()
를 호출하면 (PopulateImage()
가 호출되지만 이미지는 잠시 동안 나타납니다,하지만이 사라지면, 불을 지르고에서 볼 수의) 이미지가 비어
<script src="jquery-1.5.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
window.pageLoad = function() {
$addHandler($get('btn1'), 'click', function (e) {
__doPostBack('pbcTest', '');
// setTimeout("PopulateImage()", 100);
PopulateImage();
$find('<%=mpePopup.ClientID%>').show();
e.preventDefault();
});
}
function PopulateImage() {
$(".testImage").attr("src", "6.jpg");
}
</script>
<ajaxtoolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" CombineScripts="false">
</ajaxtoolkit:ToolkitScriptManager>
<button id="btn1"> Click</button>
<asp:LinkButton ID="lbTest" runat="server" Text="show popup" Style="display: none;" />
<ajaxtoolkit:ModalPopupExtender runat="server" ID="mpePopup" TargetControlID="lbTest"
PopupControlID="pnlPopup" BackgroundCssClass="modalBackground" CancelControlID="lbClose" />
<asp:Panel runat="server" ID="pnlPopup" CssClass="modalPopup">
<asp:LinkButton runat="server" ID="lbClose">Close</asp:LinkButton>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:MultiView runat="server" ID="mvPopup">
<asp:View ID="View1" runat="server">
<img class="testImage" />
</asp:View>
</asp:MultiView>
<cs:PostBackControl runat="server" ID="pbcTest" OnCallBack="pbcTest_CallBack" />
</ContentTemplate>
</asp:UpdatePanel>
</asp:Panel>
protected void pbcTest_CallBack(object sender, CallBackEventArgs e)
{
mvPopup.ActiveViewIndex = 0;
}
.
그러나 시간 제한을 넣으면 setTimeout("PopulateImage()", 100);
이미지가 나타납니다.
이러한 문제의 원인은 무엇입니까?
고맙습니다. 나는 당신이 옳다고 생각합니다. 사실 저는 Sys.WebForms.PageRequestManager.getInstance()를 추가했습니다. add_endRequest (EndRequestHandler); 그리고 그것은 잘 작동합니다. – Elistan