在进行ASP.NET编程过程中,你必须要面对的问题就是最后不得不使用了很多JavaScript代码,尤其是在打开一个新的”模式(modal )”窗口的时候。 在我的一个工程中,我需要寻求一种方法:将一个modal 窗口中TextBox 的值传递到它的父窗体。从ASP.NET 向JavaScript 传递一个值是很容易实现的,但是从JavaScript 向ASP.NET 传递值就不是那么简单的问题了!可以使用如下方法来解决这个问题。 因为ASP.NET 并不支持modal 窗口,所以我们将不得不使用JavaScript来实现。所以我们给父窗体中的一个Button 增加 attribute 。 Me.Button1.Attributes.Add("onclick", "UpdateQuantityDialogOpen();") UpdateQuantityDialogOpen是一个JavaScript 方法用于打开一个modal 窗口并且返回一个值。 <script language="javascript" type="text/javascript"> function UpdateQuantityDialogOpen() { var retval=""; retval=window.showModalDialog('updatequantity.aspx','','dialogWidth:400px;dialogHeight:175px;status:no;dialogHide:true;help:no;scroll:no'); if(retval!="" && retval!=null) { window.execScript("__doPostBack('UpdateQuantity', '" + retval + "')","JavaScript"); } } </script> var retval=""; retval=window.showModalDialog ('updatequantity.aspx','','dialogWidth:400px;dialogHeight:175px;status:no;dialogHide:true;help:no;scroll:no'); if(retval!="" && retval!=null) { window.execScript("__doPostBack('UpdateQuantity', '" + retval + "')","JavaScript"); } } function __doPostBack(eventTarget, eventArgument) 这个方法接收两个参数 在 modal 窗口中,给一个Button增加Attribute function ClosePopUp(returnVal) { //设置返回值 window.returnValue=document.getElementById(returnVal).value; //关闭 window.close(); }
总结: 我们完成了两件事情: |
Use __doPostBack()
最新推荐文章于 2018-05-11 00:13:52 发布