Solved

Use confirm message to verfiy user action in asp.net vb web application

Posted on 2010-08-25
15
525 Views
Last Modified: 2012-05-10
I have a web application that allows a user to upload a file.  Before uploading the file, I would like to prompt the user to click "OK" or "Cancel" on a popup confirmation screen.  In the confirmation screen, I would like to use some dynamic data stored in a session variable "Site".  In summary, the user clicks the button "Upload", then a confirmation box pops up and say "Do you want to upload a file for XYZ Company" < the session variable, user clicks "OK" or "Cancel" and upload routine is executed or canceled. Thaniks for the help.
0
Comment
Question by:OB1Canobie
  • 8
  • 5
  • 2
15 Comments
 
LVL 38

Assisted Solution

by:Tom Beck
Tom Beck earned 100 total points
Comment Utility
Something like this perhaps:

<script type="text/javascript">
<!--
function prompter() {
var reply = prompt("Do you want to upload a file for " + <% =Session('companyName') %> + " Company", "")
}
//-->
</script>
0
 
LVL 22

Accepted Solution

by:
Snarf0001 earned 400 total points
Comment Utility
<head runat="server">
    <title></title>
    <script type="text/javascript" language="javascript">
        function confirmUpload() {
            return confirm("Do you want to upload this file for <%= Session("CompanyName") %>?");
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
   
        <asp:Button ID="btnUpload" runat="server" Text="Upload" OnClientClick="return confirmUpload()" />
   
    </div>
    </form>
</body>
0
 
LVL 38

Expert Comment

by:Tom Beck
Comment Utility
Yes, Confirm, not Prompt. My mistake.
0
 

Author Comment

by:OB1Canobie
Comment Utility
How do I capture the response?  "OK" "Cancel" to execute or not execute the upload command?
0
 
LVL 22

Expert Comment

by:Snarf0001
Comment Utility
OnClientClick="return confirmUpload()"

That part will do it for you.  It will cancel the page submission if the user presses Cancel.
0
 
LVL 22

Expert Comment

by:Snarf0001
Comment Utility
the "return" part is the key.
0
 

Author Comment

by:OB1Canobie
Comment Utility
Guys, for some reason I am getting an error when using the session variable in the confirm box.  The error says that it is expecting expression.  Both the < > are underlined with the error.  What is wrong?

    <script type="text/javascript">
        <!--
        function ConfirmUpload() {
        return confirm("Do you want to upload a file for " + <%=Session("Facility")%> + "?", "")
        }
        //-->
    </script>
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 
LVL 22

Expert Comment

by:Snarf0001
Comment Utility
Don't separate the text in the javascript:

return confirm("Do you want to upload a file for <%=Session("Facility")%>?", "")

I know it looks like it won't work, but it will.  Even though the <% tags are inside js quotes, the server will process them before the page sees any of the js.
0
 
LVL 22

Expert Comment

by:Snarf0001
Comment Utility
Basically the Session variable gets written out before the browser loads the page, so by the time it gets there, if you have the text as you did:

return confirm("Do you want to upload a file for " + <%=Session("Facility")%> + "?", "")

then the browser will end up with:


return confirm("Do you want to upload a file for " + Company XYZ + "?", "")

(no quotes, causing the error).
0
 

Author Comment

by:OB1Canobie
Comment Utility
One more question...What if I wanted to pass the Session Variable "Facility" in the button command.

<asp:Button CssClass="PostbackButton" ID="PostbackButton1" runat="server"
Text="Confirm postback with radconfirm" OnClientClick="return blockConfirm('Are you sure you want to upload a file to Site:<%=Session("Facility")%>?', event, 330, 100,'','Custom title');" />

I am calling a function but passing the variables for the confirm box in the java call.  I have everything working except for the Session Variable part. I can omit the session variable and the script works great. I tried your logic above but it does not like it.  Is it a combination of ' & ""??
0
 
LVL 22

Expert Comment

by:Snarf0001
Comment Utility
Yeah, it can be done, but it's a MISERABLE combination of single quotes and double quotes and escapes to do it.
I've generally just put it in separate functions specifically for that reason, major PITA to get it right.
0
 

Author Comment

by:OB1Canobie
Comment Utility
can you do? I've tried every combination I can think of.
0
 
LVL 22

Expert Comment

by:Snarf0001
Comment Utility
Actually, sorry, I think I might have lied to you.
If you're using a server control (asp:Button) as I'm assuming you are, then you can't do it that way.
You can't embed server tags <%%> inside parameters of a server control.

I think you might have to put in a separate function.
0
 
LVL 22

Expert Comment

by:Snarf0001
Comment Utility
If you use an html control, THEN you can do it with the miserable combination i mentioned, but then you lose all the benefit of the server button.  Like the handler.
0
 

Author Comment

by:OB1Canobie
Comment Utility
Snarf0001, you got me to thinking...Ok how can I do this. I guess I have been looking at this way too long.  I can do it from the code behind.. see the code that I initialize as soon as soon as the button is pressed:

PostbackButton1.Attributes("onclick") = "return blockConfirm('Are you sure you want to upload a file to Site:" & Session("Facility") & "?', event, 330, 100,'','Custom title');"

Worked great. Thanks for the help.
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

763 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

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now