Click here to Skip to main content
Click here to Skip to main content

Server Side MessageBox

By , 19 Sep 2005
 

Sample Image

Sample Image

Introduction

As web developers, we always need model windows. But the simplest model window that comes from JavaScript has a problem: "Popup Blockers". You can write window.showModalDialog(...) in script, but what next?

My component, a web message box is a customizable modal dialog for ASP.NET 2.0, but not a popup and not a new window. It appears at the top of all objects and hides the others, so the other controls can not be clicked.

Background

The idea is very simple. In m control, I have some panels (<div>) and their z-indexes. I open a transparent panel at the top of all elements. So I prevent them being clicked. Then, I need a few new panels for the messagebox and some scripting and styling to show them.

The control has three events:

  • Btn1Clicked
  • Btn2Clicked
  • Btn3Clicked

Two styles:

  • msg.MessageBoxStyle.Violet
  • msg.MessageBoxStyle.Blue

And four icons:

  • msg.MessageBoxIcons.Exclamation
  • msg.MessageBoxIcons.Asteriks
  • msg.MessageBoxIcons.Question
  • msg.MessageBoxIcons.None

You can edit the visual affects by editing the InitializeIcon and InitializeStyle functions in Mbox.ascx.cs.

Using the control

Only thing you should do is add the Mbox.ascx user control and the Resources folder to your project. And then drag & drop the user control to your web form.

Add the following code to your default.aspx or whatever your file is..

protected void Page_Load(object sender, EventArgs e)
{   //bind the events to messagebox buttons...
    Mbox1.Btn1Clicked += new EventHandler(Mbox1_Btn1Clicked);
    Mbox1.Btn2Clicked += new EventHandler(Mbox1_Btn2Clicked);
}
void Mbox1_Btn2Clicked(object sender, EventArgs e)
{
    Response.Write("2nd button clicked");
}

void Mbox1_Btn1Clicked(object sender, EventArgs e)
{
    Response.Write("1st button clicked");
}
//Show methods and their overloads...
protected void Button1_Click(object sender, EventArgs e)
{
    Mbox1.Show("hede", "hodo");
}
protected void Button2_Click(object sender, EventArgs e)
{
    Mbox1.Show("My test message", "Warning", "OK", "Cancel", null);
}
protected void Button3_Click(object sender, EventArgs e)
{
    Mbox1.Show("My test message", "Warning", "OK", "Cancel", null, 
                                 msg.MessageBoxIcons.Exclamation);
}
protected void Button4_Click(object sender, EventArgs e)
{
    Mbox1.Show("My test message", "Warning", "OK", "Cancel", "Retry", 
               msg.MessageBoxIcons.Exclamation,msg.MessageBoxStyle.Violet);
}

I will not tell you more about this message box. I told you the logic behind it. A little effort will be enough to understand the code.

Points of Interest

The next version of the product will be a window-like popup control, but of course not a popup. It will be available soon... For bug reports and suggestions, I will wait for your mails at ozuolmez@msn.com.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Kivanc Ozuolmez
Software Developer
Netherlands Netherlands
Member
No Biography provided

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
QuestionMessage Boxmemberswami samarth19 Apr '12 - 3:15 
GeneralMy vote of 5membermanoj kumar choubey7 Feb '12 - 21:39 
QuestionCool Thanks :)memberdirekt12330 Jul '11 - 9:02 
GeneralMy vote of 5membershoban_gmail25 Feb '11 - 7:47 
Questiongrey out background???membersimpa20 Apr '10 - 5:46 
AnswerRe: grey out background???membersimpa4 Mar '11 - 11:10 
GeneralCool But....membersinister2318 Jan '10 - 22:56 
GeneralCool But....membersinister2318 Jan '10 - 22:56 
Generalwith Net 3.5memberjtorresrios8 Sep '09 - 6:00 
GeneralWorking Examplemembermayurmv4 Sep '08 - 5:07 
GeneralDoesn't work in FireFox [modified]memberemanlee17 Jul '08 - 3:49 
GeneralRe: Doesn't work in FireFoxmemberchankl7827 Jul '08 - 20:40 
GeneralTeşekkür...memberMember 353699911 Mar '08 - 5:04 
Generalsession endsmemberaapke_leeye27 Feb '08 - 0:18 
GeneralDont´function Ajax (Atlas)memberpsuporte4 Jul '07 - 6:26 
QuestionMoving the MessageBox [modified]memberageltzer7 Jun '07 - 4:54 
GeneralProblem with Master pagesmemberPablopablo21 Aug '06 - 0:39 
GeneralRe: Problem with Master pagesmembersomeone from the earth8 Dec '06 - 0:15 
QuestionDoes not work properly after publishing the WEB sitememberRohan Chandratileka9 May '06 - 19:59 
AnswerRe: Does not work properly after publishing the WEB sitememberbritneyssssers7 Sep '06 - 12:52 
Generalproblem in combination with user controlmemberhornox27 Apr '06 - 2:57 
GeneralRun with Master pagememberplumgrand20 Apr '06 - 14:48 
this is a prefect control, but it cannot run with master page. The reason is system cannot get the handle of the Element Client ID in Master page.
 
so just a little update of javascript, this control can run in Master page correctly, a example as follow:
 
original code:
 
gPopupMask = document.getElementById(ControlName + "_popupMask");
 
update code:

gPopupMask = document.getElementById("<%=popupMask.ClientID %>");
 
like this, update every sentence in source code, u can get a perfect control worked with Master page.
 

 
eric
GeneralRe: Run with Master pagemembertheboton29 May '06 - 3:02 
GeneralRe: Run with Master pagememberprecozzi14 Aug '06 - 2:34 
GeneralRe: Run with Master pagememberelpguap999918 Aug '06 - 11:00 
GeneralRe: Run with Master pagememberPKoshti5 Sep '06 - 2:49 
GeneralRe: Run with Master pagememberjolero_198322 Jun '07 - 6:34 
QuestionRelocation the Message windowmemberrchokler3 Apr '06 - 6:24 
GeneralDoes not work in contentplaceholdermemberNick Red5 Brown16 Dec '05 - 4:00 
GeneralRe: Does not work in contentplaceholdermemberjolero_198322 Jun '07 - 6:36 
GeneralRe: DOES work with contentplaceholdermemberytmu00927 Jul '07 - 5:03 
GeneralThe Greatest..!memberstilton@cheese.com25 Oct '05 - 1:01 
GeneralRe: The Greatest..!memberJohn Sibly7 Apr '06 - 6:12 
GeneralNot Working for mememberRak_i25 Oct '05 - 0:26 
GeneralRe: Not Working for mememberKivanc Ozuolmez25 Oct '05 - 0:33 
GeneralNo WorkmemberJan Waiz14 Oct '05 - 4:19 
GeneralRe: No WorkmemberToasty014 Oct '05 - 4:49 
QuestionWhat about a live demo or ASP.NET 1.1 version?memberManuDev28 Sep '05 - 12:41 
GeneralUser CSSmemberSean Feldman28 Sep '05 - 4:49 
GeneralRe: User CSSmemberKivanc Ozuolmez28 Sep '05 - 5:16 
GeneralDoes it cope with dropdowns lists in IEmembertony_bbc28 Sep '05 - 0:48 
GeneralRe: Does it cope with dropdowns lists in IEmemberKivanc Ozuolmez28 Sep '05 - 4:45 
QuestionRe: Does it cope with dropdowns lists in IEmemberleo_fulong12 Sep '06 - 14:53 
GeneralGreat!!!memberMesut Koşucu19 Sep '05 - 21:23 
GeneralThanx a lotmemberEyüp19 Sep '05 - 20:31 
QuestionServer-side?memberCarl Mercier19 Sep '05 - 6:45 
AnswerRe: Server-side?memberMichael J. Collins27 Sep '05 - 4:11 
AnswerRe: Server-side?sussAnonymous27 Sep '05 - 17:25 
AnswerRe: Server-side?memberToasty014 Oct '05 - 4:48 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web03 | 2.6.130516.1 | Last Updated 19 Sep 2005
Article Copyright 2005 by Kivanc Ozuolmez
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid