Improve company productivity with a Business Account.Sign Up

x
?
Solved

Receive name of variable not variable content when using Request.QueryString["var1"]

Posted on 2016-08-27
7
Medium Priority
?
108 Views
Last Modified: 2016-09-01
Here is a sample of the Asp.net Webform that is requesting the variable


.NET Webform

 protected void Page_Load(object sender, EventArgs e)
        {
            var var1 = Request.QueryString["var1"];
 

            string testthree = var1

Open in new window


'''''''''''''''''''''''''
Here is a copy of the VBA code that is sending the variable


VBA Macro

''Dim oXMLDoc, oXMLHTTP

     Dim strEnvelope As String

       Dim response As String

       Dim emailvalues As String

      Set oXMLHTTP = CreateObject("Microsoft.XMLHTTP")

    Set oXMLDoc = CreateObject("MSXML2.DOMDocument")
       

    strEnvelope = "test"  
     

   emailvalues = ("var1=strEnvelope")
    
 ''Call oXMLHTTP.Open("POST", "http://server/WebForm1.aspx?var1=strEnvelope", False)

   Call oXMLHTTP.Open("POST", "http://server/WebForm1.aspx?var1=strEnvelope", False)     
   Call oXMLHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")

   Call oXMLHTTP.Send(strEnvelope)

   Dim szResponse: szResponse = oXMLHTTP.responseText

    Call oXMLDoc.LoadXML(szResponse)

     If (oXMLDoc.parseError.ErrorCode <> 0) Then

       'call msgbox("ERROR")

        'response = oXMLHTTP.responseText&" "&oXMLDoc.parseError.reason

        'call msgbox(oXMLDoc.parseError.reason)

    Else

        'response = oXMLDoc.getElementsByTagName("string")(0).childNodes(0).text

        MsgBox (oXMLHTTP.Status)

    End If

MsgBox (oXMLHTTP.Status)

Open in new window

0
Comment
Question by:Member_2_7964962
  • 4
  • 3
7 Comments
 
LVL 35

Accepted Solution

by:
Robert Schutt earned 2000 total points
ID: 41773132
You're sending a literal value to the page which is the variable name: "http://server/WebForm1.aspx?var1=strEnvelope"

Simplest solution (for testing at least) is to change this to: "http://server/WebForm1.aspx?var1=" & strEnvelope

When you get this to work, you will want to consider URL-encoding the variable in case the actual value contains any special characters not allowed in a URL.

Note by the way that you are using a POST method but are sending this variable in the query-string which is normally done for a GET request. It's possible to mix them as you do but maybe you need to change it, nowadays on a lot of web servers there is a severe restriction on query-string length for security reasons.
1
 

Author Comment

by:Member_2_7964962
ID: 41773858
Thanks for your help, I will give this a try when I am in the office.
0
 

Author Comment

by:Member_2_7964962
ID: 41780188
What would be the best way to pass multiple parameters in the string below? For example, var2, and var3

http://server/WebForm1.aspx?var1=" & strEnvelope
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.

 
LVL 35

Expert Comment

by:Robert Schutt
ID: 41780330
Something like this:

... "http://server/WebForm1.aspx?var1=" & strEnvelope & "&var2=" & strVar2 & "&var3=" & strVar3

Assuming you have variables strVar2 and strVar3 filled with strings like you have strEnvelope.

Note that & is used both as a seperator in the querystring (after the initial question mark) as well as an operator in the VBA language to concatenate strings.

It also may become more important now you are adding extra variables to think about the other 2 remarks in my first comment.
1
 

Author Comment

by:Member_2_7964962
ID: 41780340
For sure, but not sure how to accomplish this yet. In regards to the remarks in your first comment, would this make the whole process that I am trying to accomplish easier. Some of the values that I am passing our Outlook email items such as senders name, attachments etc.

 I am passing the parameters to the following Response.Write link.

The Class is identified below the Response.Write code below. Are you familiar with passing several parameters using Response.Write, and receiving them using HttpPost? See Example below.


             Response.Write(Class1.HttpPost("http://172.23.0.106:7722/WebService1.asmx?op=MyMethod", test));


     public class Class1
     {
   

    public static string Errors { get; set; }

     public static string HttpPost(string URI, string Parameters)

     {
0
 
LVL 35

Expert Comment

by:Robert Schutt
ID: 41780372
No, it wouldn't make it easier, but it would make it safer and more robust.

The question in the second part of that last post makes little sense to me. You should probably gather some more info and ask a new (related) question. Your audience here will be very limited (possibly just me) now that the question is closed.
0
 

Author Comment

by:Member_2_7964962
ID: 41780392
Thank you, agreed.
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering 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

High user turnover can cause old/redundant user data to consume valuable space. UserResourceCleanup was developed to address this by automatically deleting user folders when the user account is deleted.
An ASP.NET Web Form User Control is not newly introduced in ASP.NET. In fact, it was an old technology yet still playing a role to generate web content, especially when we want to use it to have a better and easy way to control part of the web conte…
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…
Watch the video to know the simple way to remove or recover or reset lost or forgotten passwords of Outlook PST file. With Kernel Outlook Password Recovery tool such operation is very easy to perform. It is a freeware with limitation to use with 500…

585 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