How to get the value - c#

Using C# & Java Script
I have the link like this
"http://localhost/Server/Vehicle/Vehicle.aspx?appid=5", when i use this link the page is opening... But i want to get this appid value, then pass this appid value to another link
In the above link appid value is 5
For Example
Link1 http://localhost/Server/Vehicle/Vehicle.aspx?appid=5
In link2 the value 5 should display like this "http://localhost/Server/Vehicle/car.aspx?appid=5"
Tried Code
Entry
But in another page the link is displaying like this
http://localhost/Server/Vehicle/car.aspx?param=document.getElementById('appid').value
How to get that appid value. I want to pass this value to another link
Need code Help

Access the Request.QueryString as follows to retrieve the value of the appid query variable:
string appid = Request.QueryString["appid"];
Update:
The JavaScript snippet won't be executed in the href attribute of a link (it's recognized as a normal string, and won't be parsed as JavaScript code).
With the following link a user will be successfully directed to your desired URL:
Entry
Side note: the value property works only for HTML tags that have defined an eponymous attribute. One such tag would be the input tag. The div tag instead doesn't have a value attribute defined, and therefore document.getElementById('appid').value would fail; use innerHTML instead in that case.

You can try using
string appID;
if(Request.QueryString["appid"] != null)
{
appID = Request.QueryString.Get("appid");
}

Related

How to send local variables via post

Via a hidden input field I want to send a value from Site 1 to Site 2.
But at Site 2 it says the value is null.
I guess this is because it is local value. But it has to be local and I'm not sure.
Here is my code where I declare the value (page 1):
string stringproductid = Request.QueryString["id"].tostring();
int productid = stringproductid.AsInt();
Here I send it via a hidden field inside a form (page 1):
<input type="hidden" id="#productid" value="#productid" name="#productid">
Here I try to receive it (at page 2):
string idstring = Request.Form["productid"].ToString(); //error
It should be name="productid" . The # you're using there is making Razor put the value of productID into that attribute. So if you look at your raw generated HTML it is going to be something like name="346".
That belongs in the "value" attribute, which you did correctly, but what you need to be putting in the "name" is the name of the field, so that the browser posts it back correctly with that field name. :-)
On your 2nd page, you should use
string idstring = Request.Form["#productid"].ToString(); //error
On a side note, both Request.QueryString[] and Request.Form[] are always strings, so you don't need to include the .ToString(). I understand it may be defensive coding, but you are just adding CPU cycles. They add up over time.

String contents change while pasing from view to controller Get method

In MVC application, I am passing string taskName = "a#&+" from UI text box.
In the controller, parameter taskName changes to taskName = "a".
On debugging the view, the value of taskName is displayed as expected.
But while passing from view to controller, it changes unexpectedly.
Post method is then posting same incorrect string back to UI. How to obtain taskName = "a#&+" in the controller GET method?
I am new to MVC. Please let me know, if I can provide further relevant information.
I am not exactly sure how you are passing data from a text box on the page to the controller parameter but based on your description it appears that you must be using javascript to get the value of the text box and then attaching it to the url. In this case you need to encode the value of the of the text box before using it by using the javascript encodeURIComponent function.
See this jsfiddle for an example: http://jsfiddle.net/a7ek6whn/
The characters # and & are reserved characters in a query string, this is why your value is truncated. You need to UrlEncode your values in order to get the correct string in the Get, before you perform your Get request.

how does Request.QueryString work?

I have a code example like this :
location.href = location.href + "/Edit?pID=" + hTable.getObj().ID; ; //aspx
parID = Request.QueryString["pID"]; //c#
it works, my question is - how ? what is the logic ?
thanks :)
The HttpRequest class represents the request made to the server and has various properties associated with it, such as QueryString.
The ASP.NET run-time parses a request to the server and populates this information for you.
Read HttpRequest Properties for a list of all the potential properties that get populated on you behalf by ASP.NET.
Note: not all properties will be populated, for instance if your request has no query string, then the QueryString will be null/empty. So you should check to see if what you expect to be in the query string is actually there before using it like this:
if (!String.IsNullOrEmpty(Request.QueryString["pID"]))
{
// Query string value is there so now use it
int thePID = Convert.ToInt32(Request.QueryString["pID"]);
}
A query string is an array of parameters sent to a web page.
This url: http://page.asp?x=1&y=hello
Request.QueryString[0] is the same as
Request.QueryString["x"] and holds a string value "1"
Request.QueryString[1] is the same as
Request.QueryString["y"] and holds a string value "hello"
The Request object is the entire request sent out to some server. This object comes with a QueryString dictionary that is everything after '?' in the URL.
Not sure exactly what you were looking for in an answer, but check out http://en.wikipedia.org/wiki/Query_string
Request.QueryString["pID"];
Here Request is a object that retrieves the values that the client browser passed to the server during an HTTP request and QueryString is a collection is used to retrieve the variable values in the HTTP query string.
READ MORE#
http://msdn.microsoft.com/en-us/library/ms524784(v=vs.90).aspx
The QueryString collection is used to retrieve the variable values in the HTTP query string.
The HTTP query string is specified by the values following the question mark (?), like this:
Link with a query string
The line above generates a variable named txt with the value "this is a query string test".
Query strings are also generated by form submission, or by a user typing a query into the address bar of the browser.
And see this sample : http://www.codeproject.com/Articles/5876/Passing-variables-between-pages-using-QueryString
refer this : http://www.dotnetperls.com/querystring
you can collect More details in google .

Requesting URL parameters in C#

The way I use to request parameters from URL is
if URL is- http://www.domain.ext/default.aspx?id=123&name=abc
In the above example we can request two parameter i.e. id and name from page default.aspx as string myid = Request["id"]; and string myname = Request["name"];
But in Facebook profile's URL it shows something of this kind.
http://www.facebook.com/john.deo or http://www.facebook.com/madcoder
Where there wont be any page name and to define name with syntax. How to request the parameters (john.deo or madcoder) from URL in C#?
This can be achieved by adding rules to an htaccess file.
RewriteRule ^([A-Za-z0-9_-]*)/$ index.php?name=$1
This rule will mean that if you type into the browser http://www.mydomain.co.uk/john you can get the value 'john' by requesting the 'name' parameter.
Those are not URL parameters, those are used to identify a resource.
You could use regex you're only objective is to get the "john.deo" in the given url
It all depends on how complex your solution is. But one easy way to do this is by using page routing.
You could register a route in your Global.asax -> Application_Start like this:
RouteTable.Routes.MapPageRoute("Route name", "requestformat", "physicalfile", checkPhysicalUrlAccess, routeValueDefaults, routeConstraints);
Then in your request format specify parameters like "{name}" and then default the name parameter in the ´routeValueDefaults´ dictionary and put a contstraint on it in the ´routeContstrains´ dictionary. The constraint can be specified by a reqular expression, so if you want the names to be all only characters you could use something like this "\w+".
The parameter then end up in the Page.RouteData["name"] collection of the physical page.

Problem passing filename between pages (query string)

I've tried and tried but just cannot get a hold of this so let me explain my problem.I have a survey website using xml survey files. On one page I have a category menu which passes relative surveys filename to another page in the redirect as a query string.
~/websurvey.aspx?Survey=gamesurvey.xml
so the name of the survey file is gamesurvey.xml. On another page I have the following to read the filename into a string.
string c = Request.QueryString["Survey"];
now here lies my problem. The control that I have to pass the filename to does not recognise any attempts I make at trying to "dereference" the string. Here is the part in question.
<sstchur:WebSurvey id = "ws"
SurveyFile = "gamesurvey.xml"
AnswersFile = "answers.xml"
runat = "server"/>
</form>
Above where you see gamesurvey.xml thats where I need to pass the string. Here it is hardcoded.This is a problem because I want to be able to call any survey by way of query string without having to make new pages for each of them.
If I put things like
""+c+"" or .toString() or SurveyFile = c
it tells me the server tag is not well formed.
To sum up my problem I need to pass a filepath directly from page to page. By the way, when I put SurveyFile = c I get a pageload error saying the file c cannot be found, i.e. this control will only take a filename not a variable containing it.
Sorry if this is hard to understand but my head is just melted with it now I had to ask.
Any help would be appreciated.
The control im using is the WebSurvey control 4GuysFromRolla and yes I have checked all the documentation and the few forum posts related to it.
And what prevents you from setting that control property in your code-behind?
If you've your "page.aspx.cs", just do that in the Page.Init Page.Load event and you'll be fine!
Maybe I'm wrong and you can't use code-behind or something like that.
i am giving u few options
use
SurveyFile= <% c %>
or since you are not passing the full file path so ur file is not found. give it like ~//root//directory//filename.extension
or may be
u can find some methods to set that parameter using the code behind page.
do tick my answer correct if found useful

Categories

Resources