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

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.
OB1CanobieAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
Snarf0001Connect With a Mentor Commented:
<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
 
Tom BeckConnect With a Mentor Commented:
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
 
Tom BeckCommented:
Yes, Confirm, not Prompt. My mistake.
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
OB1CanobieAuthor Commented:
How do I capture the response?  "OK" "Cancel" to execute or not execute the upload command?
0
 
Snarf0001Commented:
OnClientClick="return confirmUpload()"

That part will do it for you.  It will cancel the page submission if the user presses Cancel.
0
 
Snarf0001Commented:
the "return" part is the key.
0
 
OB1CanobieAuthor Commented:
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
 
Snarf0001Commented:
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
 
Snarf0001Commented:
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
 
OB1CanobieAuthor Commented:
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
 
Snarf0001Commented:
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
 
OB1CanobieAuthor Commented:
can you do? I've tried every combination I can think of.
0
 
Snarf0001Commented:
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
 
Snarf0001Commented:
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
 
OB1CanobieAuthor Commented:
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
All Courses

From novice to tech pro — start learning today.