최근에는이 문제를 해결해야했습니다. 나는이 문제를 돕기위한 일반적인 기능을 가지고있다.
- 는
UpdatePanel
내에서 숨겨진 asp:button
을 넣어 또는 외부와 AsyncPostBackTrigger
로 설정합니다.
- 필요할 경우
ItemDataBound
에서 js 함수를 호출하고 asp:button
을 전달합니다.
- js 함수는 "OK"또는 설정 한 값을
buttonTxt
으로 전달한 버튼에서 click 이벤트를 호출합니다. 버튼을 클릭합니다.
- 버튼이
UpdatePanel
안에 있으면 UpdatePanel.Update
을 자동으로 처리하거나 butHidden_Click
안에 Update
을 호출 할 수 있습니다.
마크 업 :
<asp:UpdatePanel runat="server" ID="UpdatePanel1">
<ContentTemplate>
<asp:button id="btnHidden" style="display:none" runat="server" onclick="btnHidden_Click"/>
</ContentTemplate>
</asp:UpdatePanel>
스크립트 : 당신이 필요로하는 대화 상자에서 각 방법에 대한 콜백 함수를받을 수있는 JS 파일의 기능을 확장 할 수 있습니다
function showjQueryUIDialogOkBtnCallback(buttonToClick, dialogSelector, buttonTxt, isModal, width, height)
{
var buttonOpts = {};
buttonOpts[buttonTxt] = function() {
$("#" + buttonToClick).trigger('click');
};
buttonOpts['Cancel'] = function() {
$(this).dialog("close");
$(this).dialog('destroy');
}
$(dialogSelector).dialog({
resizable: false,
height: height,
width: width,
modal: isModal,
open: function (type, data) {
$(this).parent().appendTo("form"); //won't postback unless within the form tag
},
buttons: buttonOpts
});
$(dialogSelector).dialog('open');
}
후킹; 그런 다음 그 함수들을 연결 시키십시오, 그러나 그것들을 먼저 확인하십시오 : if (typeof (cbFncClose) === 'function') cbFncClose(); – rkw