PopUp Window In ASP . NET<o:p>
<o:p>
Introduction<o:p>
This article describes an ASP.NET popup control. It is designed for use in a web page. <o:p>
A very important feature of this control is, that it can be used on most of the current browsers. You can also use HTML in lot of control properties, so you can get popup with icon or anything you want. The below figure shows the message box with different buttons,<o:p>
<o:p>
<v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"><v:f eqn="sum @0 1 0"><v:f eqn="sum 0 0 @1"><v:f eqn="prod @2 1 2"><v:f eqn="prod @3 21600 pixelWidth"><v:f eqn="prod @3 21600 pixelHeight"><v:f eqn="sum @0 0 1"><v:f eqn="prod @6 1 2"><v:f eqn="prod @7 21600 pixelWidth"><v:f eqn="sum @8 21600 0"><v:f eqn="prod @7 21600 pixelHeight"><v:f eqn="sum @10 21600 0"><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"><o:lock aspectratio="t" v:ext="edit"><o:p>
( Message Box with OK Button )
<o:p>
<o:p>
<o:p>
( Message Box with Yes No Buttons )<o:p>
<o:p>
<o:p>
<o:p>
<o:p>
( Message Box with Ok Cancel Buttons )
<o:p>
<o:p>
<o:p>
( Message Box with Yes No Cancel Buttons )<o:p>
Actions<o:p>
The control has one event, Cmd_Click (Button in popup was clicked) and it contains four Buttons Namely Ok, Cancel, Yes and No. The buttons are displayed according to your requirement. I mean, if you want ‘Ok’ Button in the Message Box, you can pass 0 ( zero ) through session variable, and if you want ‘Ok – Cancel’ Buttons in the Message Box, you can pass 1 ( one ) through session variable and so on.<o:p>
You can observe, the window title ( IE title), image, Custom Text are different in every message box. All these values can be changed dynamically using session variables. Even the number of buttons can be changed as per the requirement. <o:p>
Using this control<o:p>
This Control is actually a ASPX Popup control, which uses sessions. It receives values through sessions from the client page and accordingly, it is displayed. To use the message box just include this aspx page in your web application and pass session values from the client web page as shown below,<o:p>
<o:p>
<o:p>
Session("wTitle") = "Designed By Anwar Hussain Shaik"<o:p>
Session("lblMsgBox") = "Hello, This is Ok Only"<o:p>
Session("intCapCode") = "0"<o:p>
Session("imgUrl") = file:///E:\Resources\loginImages\connected_multiple.jpg<o:p>
<o:p>
Here wTitle : is title if Explorer.<o:p>
lblMsgBox : is the custom text to display.<o:p>
intCapCode : is the desired button you want to display on the MsgBox.<o:p>
Imgurl : is the image Url to display image.<o:p>
<o:p>
Note : please note that all the session variables are case sensitive. <o:p>
<o:p>
<o:p>
<o:p>
You can write the above block code on a button in the client we page and following is the code to display the popup or message box,<o:p>
<o:p>
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click<o:p>
' Function To Display PopUp Window<o:p>
Private Sub subDisplayPopUp()<o:p>
Dim strJScript As String<o:p>
strJScript = "<script language=javascript>"<o:p>
strJScript += "window.open('CustomMsgBox.aspx',null,'height=150, width=430,status= no, resizable= no, scrollbars=no, toolbar=no,location=center,menubar=no, top=100, left=300');"<o:p>
strJScript += "</script>"<o:p>
Response.Write(strJScript)<o:p>
<o:p>
' Call Function To Display PopUp Window<o:p>
subDisplayPopUp()<o:p>
End Sub <o:p>
End Sub<o:p>
<o:p>
This is the code for the subroutine used in the above code.<o:p>
<o:p>
' Function To Display PopUp Window<o:p>
Private Sub subDisplayPopUp()<o:p>
Dim strJScript As String<o:p>
strJScript = "<script language=javascript>"<o:p>
strJScript += "window.open('CustomMsgBox.aspx',null,'height=150, width=430,status= no, resizable= no, scrollbars=no, toolbar=no,location=center,menubar=no, top=100, left=300');"<o:p>
strJScript += "</script>"<o:p>
Response.Write(strJScript)<o:p>
End Sub<o:p>
<o:p>
<o:p>
Finally, in your client page, add the following script, to get the values returned by the message box.<o:p>
<o:p>
<script language="javascript"><o:p>
function first(MsgBoxRetval)<o:p>
{<o:p>
document.Form1.txtReturnResult.value = MsgBoxRetval;<o:p>
}<o:p>
</script><o:p>
<o:p>
Here ‘txtReturnResult ’ is the name of textbox where I can the returned Value.<o:p>
The client Web Page Looks something like This,
<o:p>
<o:p>
<o:p>
<o:p>
<o:p>
<o:p>
This Is a demo of Message Box Control, with four buttons as shown in the figure. You can see the returned value in the text box as shown.<o:p>
<o:p>
<o:p>
<o:p>
Internal Working Of The control<o:p>
At page load of popup window you can find the following code,<o:p>
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load<o:p>
'Put user code to initialize the page here<o:p>
<o:p>
Response.Write("<title>" + Session("wTitle") + "</title>")<o:p>
<o:p>
Me.imgMsgBox.ImageUrl = Session("imgUrl")<o:p>
<o:p>
Me.lblMsgBox.Text = Session("lblMsgBox")<o:p>
<o:p>
' Call function to Display Push Buttons as Needed<o:p>
funMsgBoxButtons(Session("intCapCode"))<o:p>
End Sub<o:p>
See how Sessions values are used to assign values to the controls on the popup / message box window. This function receives an integer value forwarded by the client page, and accordingly, buttons are displayed on the message Box.<o:p>
The code for the function funMsgBoxButtons() is shown below,<o:p>
' Function which displays Ok,Yes,No,Cancel Captions on the Buttons<o:p>
Public Function funMsgBoxButtons(ByVal intCapCode As Integer)<o:p>
<o:p>
' Call Function to Display All Buttons, then Hide/Unhide them Accordingly<o:p>
funVisibleButtons()<o:p>
<o:p>
Select Case intCapCode<o:p>
Case 0<o:p>
cmd1.Text = "Ok"<o:p>
cmd2.Visible = False<o:p>
cmd3.Visible = False<o:p>
Case 1<o:p>
cmd1.Text = "Ok"<o:p>
cmd2.Text = "Cancel"<o:p>
cmd3.Visible = False<o:p>
Case 2<o:p>
cmd1.Text = "Yes"<o:p>
cmd2.Text = "No"<o:p>
cmd3.Text = "Cancel"<o:p>
Case 3<o:p>
cmd1.Text = "Yes"<o:p>
cmd2.Text = "No"<o:p>
cmd3.Visible = False<o:p>
End Select<o:p>
End Function<o:p>
What Happens when U click on the Ok – Cancel – Yes – No Buttons :<o:p>
When U click on the Message Box buttons, the respective code is executed, There are three buttons on the Message Box,<o:p>
' When the caption is Ok or Yes<o:p>
Private Sub cmd1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd1.Click<o:p>
If cmd1.Text = "Ok" Then<o:p>
<o:p>
strReturnVal = 1<o:p>
ElseIf cmd1.Text = "Yes" Then<o:p>
<o:p>
strReturnVal = 2<o:p>
End If<o:p>
<o:p>
' This Closes the Message Box<o:p>
funCloseMsgBox()<o:p>
End Sub<o:p>
<o:p>
' When the caption is Cancel or No<o:p>
Private Sub cmd2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd2.Click<o:p>
If cmd2.Text = "Cancel" Then<o:p>
<o:p>
strReturnVal = 4<o:p>
ElseIf cmd2.Text = "No" Then<o:p>
strReturnVal = 3<o:p>
End If<o:p>
<o:p>
' This Closes the Message Box<o:p>
funCloseMsgBox()<o:p>
End Sub<o:p>
<o:p>
' When the caption is Cancel<o:p>
Private Sub cmd3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmd3.Click<o:p>
If cmd3.Text = "Cancel" Then<o:p>
<o:p>
strReturnVal = 4<o:p>
End If<o:p>
<o:p>
' This Closes the Message Box<o:p>
funCloseMsgBox()<o:p>
End Sub<o:p>
<o:p>
' This Closes the Message Box and Returns the ... ... value <o:p>
Private Sub funCloseMsgBox()<o:p>
Response.Write("<script language=javascript>opener.first('" + strReturnVal + "');window.close();</script>")<o:p>
End Sub<o:p>
<o:p>
Disadvantages Of this Control :<o:p>
<o:p>
It runs at server side. Actually, when you press the button, the popup windows or web page is requested from the server. <o:p>
<o:p>
Future Enhancments:<o:p>
<o:p>
This Control is a popup window. One can try it to convert it into a DLL ( Assembly ), which can be used just with a reference.<o:p>
<o:p>
<o:p>
<o:p>
<o:p>
By Bye.<o:p>
<o:p>
Shaik Anwar Hussain M. Tech (IT)<o:p>
Software Engineer,<o:p>
Holool India Ltd.,<o:p>
<o:p>
E-mail : s_anwar786@rediffmail.com
<o:p>
<o:p>
<o:p>
<o:p>
<o:p>
Anwar Hussain is a Software Developer (Project Leader) presently working for an MNC based in Bangalore, Karnataka ( I N D I A ). He is an Microsoft Certified Application Developer ( .NET ) and presently working on .NET Technology.
If you want to have a drink or go to a rock concert with me please feel free to contact... ..!!