2015-11-05 44 views
0

我正在测试一个简单的Web应用程序中的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> 

相关问题