Improve company productivity with a Business Account.Sign Up

x
?
Solved

ASP.NET Modal Pop Up and VB

Posted on 2009-04-02
8
Medium Priority
?
805 Views
Last Modified: 2012-05-06
I am creating an ASP.NET website that has a list of 25 links (linkButton controls).  If someone clicks a link, I want to check to see if their ZipCode is saved in a cookie - if not, I want to pop up a modal popup box that asks for the zipcode.

I have the modal popup box working - I can check to see if a cookie has been set(on the codebehind page) - but i can't do it without post back.  So the page refreshes before showing the modal pop up and it doesn't look quite right.

Does anyone have any ideas how I would go about this?

Thanks for the help!  I'm learning by doing - so I hope this makes sense.

0
Comment
Question by:steverguy
  • 5
  • 2
8 Comments
 
LVL 9

Expert Comment

by:AsishRaj
ID: 24056305
Try this

'parent page
 
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="page1.aspx.cs" Inherits="page1" %>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>Parent Webform</title>
<script language="javascript">
function OpenChild()
{
var ParmA = retvalA.value;
var ParmB = retvalB.value;
var ParmC = retvalC.value;
var MyArgs = new Array(ParmA, ParmB, ParmC);
var WinSettings = "center:yes;resizable:no;dialogHeight:300px"
// ALTER BELOW LINE - supply correct URL for Child Form
var MyArgs = window.showModalDialog("page2.aspx", MyArgs, WinSettings);
if (MyArgs == null)
{
window.alert("Nothing returned from child. No changes made to input boxes");
}
else
{
retvalA.value=MyArgs[0].toString();
retvalB.value=MyArgs[1].toString();
retvalC.value=MyArgs[2].toString();
Window.location.reload();
 
}
}
</script>
</HEAD>
<body>
<P><INPUT id="retvalA" type="text" value="AAA"/></P>
<P><INPUT id="retvalB" type="text" value="BBB"/></P>
<P><INPUT id="retvalC" type="text" value="CCC"/></P>
<P><BUTTON onclick="OpenChild()" type="button">Open Child Window</BUTTON></P>
</body>
</HTML>
 
Child Page
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Page2.aspx.cs" Inherits="Page2" %>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>Child Webform</TITLE>
<script language="javascript">
function Done() {
var ParmA = tbParamA.value;
var ParmB = tbParamB.value;
var ParmC = tbParamC.value;
var MyArgs = new Array(ParmA, ParmB, ParmC);
window.returnValue = MyArgs;
window.close();
}
 
</script>
</HEAD>
<BODY>
<P>Param A:<INPUT id="tbParamA" TYPE="text"/></P>
<P>Param B:<INPUT ID="tbParamB" TYPE="text"/></P>
<P>Param C:<INPUT ID="tbParamC" TYPE="text"/></P>
<BUTTON onclick="Done()" type="button">OK</BUTTON>
</BODY>
</HTML>

Open in new window

0
 
LVL 9

Expert Comment

by:AsishRaj
ID: 24056323
Sorry i didnt read your requirements properly. the above code is for the model popup window

What you can do is store the required info in the session and onclick do a javascript check
Somthing like var MySessionvalue = <% = Session("key") %>;

then see if its empty then pop up the window else do somthing else

Asish
0
 
LVL 9

Expert Comment

by:AsishRaj
ID: 24056339
if you need extra explanation then let me know.
0
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

 
LVL 4

Expert Comment

by:mahadevan_v
ID: 24056858
you can use a simple ajax page to do this .. return the result to the page which is shown in dialog.. it will avoid the post back
0
 
LVL 1

Author Comment

by:steverguy
ID: 24059777
Ok, I feel like I'm getting really close on this (had to go to bed last night  - wasn't seeing straight)

I'm finding all sorts of code that does kind of what I'm looking for - and I can see how both solutions above are leading to the desired results.  But something's missing.

Here's the code I have for the ModalPopUp Box:
<asp:Panel ID="Panel1" runat="server" CssClass="modalPopup" Style="display: none" Width="233px">
                   <p>Please enter your zip code:<br />
                   <asp:TextBox ID="ZipCode" runat="server"></asp:TextBox>
                   <br />
                      <asp:Button ID="OkButton" runat="server" Text="OK" />
                      <asp:Button ID="CancelButton" runat="server" Text="Cancel" />
                   </p>
                </asp:Panel>
   <br />
   <ajaxToolkit:ModalPopupExtender ID="ModalPopupExtender1" runat="server"
             TargetControlID="lb_Architects"
             PopupControlID="Panel1"
             BackgroundCssClass="modalBackground"
             DropShadow="true"
             OkControlID="OkButton"
             CancelControlID="CancelButton" />

I have 25 links that will be like this one: <asp:LinkButton ID="lb_Furniture" runat="server" CssClass="CatNavMain" OnClientClick="someJsYouWant();">Furniture & Appliances</asp:LinkButton>
(following the example from somehere on the web)

The javascript i have is:
 function someJsYouWant(){  
                alert('HelloSO');
            ;}

Taking AsishRaj's example of using a session variable to set a Javascript variable, I can see how to check the value i need...  But I can't see how to pop up the modal box - if the Session Variable is empty.
If the session variable has a value,  I don't want the modal popup box to show at all.

I was able to accomplish this if I postback - but the refresh doesn't look right.

Thanks for your help!
0
 
LVL 9

Accepted Solution

by:
AsishRaj earned 2000 total points
ID: 24064062
Try this - untested code - out of the head

<script>
function someJsYouWant(){ 
   var test;
   if(test!=null){
      document.write("exists!");
   }else{
       var modal = $find('ModalPopupExtender1'); 
       modal.show();
   }
}
</script> 

Open in new window

0
 
LVL 1

Author Comment

by:steverguy
ID: 24064134
Thanks! That worked great.
0
 
LVL 9

Expert Comment

by:AsishRaj
ID: 24064248
glad it worked for you
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

ASP.Net to Oracle Connectivity Recently I had to develop an ASP.NET application connecting to an Oracle database.As I am doing it first time ,I had to solve several problems. This article will help to such developers  to develop an ASP.NET client…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
When you have multiple client accounts to manage, it often feels like there aren’t enough hours in the day. With too many applications to juggle, you can’t focus on your clients, much less your growing to-do list. But that doesn’t have to be the cas…
From store locators to asset tracking and route optimization, learn how leading companies are using Google Maps APIs throughout the customer journey to increase checkout conversions, boost user engagement, and optimize order fulfillment. Powered …

608 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question