VBSCRIPT in Page Load C# ASP.NET

I have this VBscript code in the head section of an asp.net c# form for a webapp:

   <script language="vbscript" type="text/vbscript">

Dim myString, valuecn, cn, stringvalue

valuecn = Request.QueryString("valuecn")

if valuecn = "" then valuecn = "inactivo" End If

If valuecn = "inactive" then

Response.Redirect("inactive.aspx")

End if

</script>

Open in new window


How can we do to execute that in the page load of asp.net c# code behind?

Because if you run the page never redirect to inactive.aspx

Thank you
Alex E.Asked:
Who is Participating?
 
Ryan ChongConnect With a Mentor Commented:
sorry for late response, you can try this:
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
        Response.Charset = "utf-8"

        snfile = Request.QueryString("path")

        Dim fs As FileInfo = New FileInfo(Server.MapPath(snfile))

        If fs.Exists Then
            size = fs.Length
            fname = fs.Name
            mime_type = "application/save-as"
            Response.AddHeader("Expires:", 0)
            Response.ContentType = mime_type
            Response.AddHeader("Content-Disposition", "attachment; filename=" & fname)
            Response.AddHeader("Content-Length", fs.Length.ToString())
            Response.WriteFile(fname)
            Response.End()
        Else
            Response.Write("File not found!")
            Response.End()
        End If
    End Sub

Open in new window

0
 
Ryan ChongCommented:
you need to do it in C# codes, like:
protected void Page_Load(object sender, EventArgs e)
        {
            String myString, valuecn, cn, stringvalue;

            valuecn = Request.QueryString["valuecn"];

            if (valuecn == "") valuecn = "inactivo";

            if (valuecn == "inactive") {
                Response.Redirect("inactive.aspx");
            }
        }

Open in new window

pls aware of line:
 if (valuecn == "") valuecn = "inactivo";

Open in new window

i'm not too sure if inactivo was a typo? should it be inactive instead?
0
 
Alex E.Author Commented:
Yes "inactivo" was a bad typo. But I asked because in this code in regular asp working but when we passed together with the routine I posted in the beginning the next part of code is presenting some troubles:

Imports System.Data
Imports System.IO
Partial Class launch_file2
    Inherits System.Web.UI.Page
    Dim size As Integer
    Dim snfile As String
    Dim fs As String
    Dim objfile As String
    Dim mime_type As String
    Dim fname As String
    Dim GetFile As String
    
    Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
        Response.CodePage = 65001
        Response.Charset = "utf-8"

        snfile = Request.QueryString("path")
        fs = Server.CreateObject("scripting.filesystemobject")

        If fs.FileExists(Server.MapPath(snfile)) = True Then
            objfile = fs.GetFile(Server.MapPath(snfile))
            size = objfile.size
            fname = objfile.name
            mime_type = "application/save-as"
            Response.AddHeader("Expires:", 0)
            Response.ContentType = mime_type
            Response.AddHeader("Content-Disposition", "attachment; filename=" & fname)
            objStream = Server.CreateObject("ADODB.Stream")
            objStream.Open()
            objStream.Type = 1
            objStream.LoadFromFile(Server.MapPath(snfile))
            Response.BinaryWrite(objStream.Read)
        Else
            Response.Write("File not found!")
            Response.End()
        End If
    End Sub

Open in new window


The errors show the script are:

The "Response.CodePage = 65001" gives me this error: 'FileExists' is not a member of 'String'.
The size = objfile.size shows this 'size' is not a member of 'String'.
The fname = objfile.name shows this 'size' is not a member of 'String'.
'The objStream = Server.CreateObject("ADODB.Stream") shows objStream' is not declared. It may be inaccessible due to its protection level.

This script what it does is if you call for example dwnloadfile.asp?path=anypath what it does is download the file without executing in browser.

For example in that parts what are the problems? with normal asp you just enter <% %> in the middle code and that´s it but that routine we can´t convert to VB in asp.net.
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

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.

 
Ryan ChongCommented:
so just to confirm...

1. are you intend to do above in C# and not vb.net ?

2. or you just want to solve the error above in vb.net?
0
 
Alex E.Author Commented:
Just convert that one to vb.net
0
 
Alex E.Author Commented:
Thank you
0
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.

All Courses

From novice to tech pro — start learning today.