0

Я тестирую ModalPopupExtender в простом веб-приложении. Пользователь должен ввести значение в modalpopup, а затем это значение будет показано на родительской странице после закрытия модального всплывающего окна.Задать значение на главной странице из Modal Popup Extender

Я использовал этот код для дизайна:

<body> 
    <form id="form1" runat="server"> 
     <div> 
     <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> 
     <asp:Button runat="server" ID="BtnOpenPopup" Text="Open Popup" /> 
     <asp:Label runat="server" ID="lbl" ></asp:Label> 
     <asp:Panel runat="server" ID="PnlTest"> 
      <asp:TextBox runat="server" ID="txtInput"></asp:TextBox>    
      <asp:Button runat="server" ID="BtnSubmit" Text="Submit" OnClick="BtnSubmit_Click" /> 
     </asp:Panel> 
     <ajaxToolkit:ModalPopupExtender runat="server" TargetControlID="BtnOpenPopup" EnableViewState="true" OkControlID="BtnSubmit" PopupControlID="PnlTest" ></ajaxToolkit:ModalPopupExtender> 
     </div> 
    </form> 
</body> 
</html> 

И это мой код позади:

protected void BtnSubmit_Click(object sender, EventArgs e) 
{ 
    lbl.Text = txtInput.Text; 
} 

Это не работает, я не получаю никаких ошибок, но все-таки lbl не загружается пользователем.

Буду признателен, если вы можете дать мне некоторое представление о том, как это работает.

+0

ли вы проверить: http://stackoverflow.com/questions/2177227/need -help-with-a-simple-asp-net-modalpopupextender-example –

+0

@ Eray, спасибо, но этот вопрос в ссылке не связан с моим. – user3340627

ответ

2

Здравствуйте, я думаю, что вы должны добавить сценарий для OnOkScript атрибута, попробуйте следующее:

//...... 
    //....... 

    <ajaxToolkit:ModalPopupExtender runat="server" 
     TargetControlID="BtnOpenPopup" 
     EnableViewState="true" 
     OkControlID="BtnSubmit" 
     PopupControlID="PnlTest" 
     OnOkScript="onModalOk();"> <!-- here is the tag you have to add to get it work --> 

    </ajaxToolkit:ModalPopupExtender> 
    </div> 
</form> 
<script> 
    function onModalOk() 
    { 
     document.getElementById("lbl").innerText = document.getElementById('txtInput').value; 
    } 
</script> 

Смежные вопросы