I'm working with an asp.net web api project, and I have to pass an mobile number through a post. But i cannot return a plus sign.
my route:
config.Routes.MapHttpRoute(
name: "SmsRoute",
routeTemplate: "rest/sms/{country}/{company}/phone/{mobilenumber}",
defaults: new { controller = "Sms", action = "PostSms" });
controller:
public HttpResponseMessage PostSms(string country, string company, string mobilenumber)
{
return Request.CreateResponse( HttpStatusCode.Created );
}
When I run this post method on fiddler:
http://index.html/rest/sms/se/company/phone/46700101010/messages/out
I'm getting this response:
But I want it to be able to show me the plus sign.
This a common anomaly that we face while adding parameters in the url's. Here you can have a hint of what your OP is and what you might need at a later run
You can have many options as for
+
you can encode in your java script file usingAnd also for your ease if you want to add any special characters in your url like a
.
then simply set the propertyrelaxedUrlToFileSystemMapping
in your web.configOr you can just add or remove some of the characters to block/allow using
requestPathInvalidCharacters
in yourweb.config
Encode the
+
:Replace your feedle input with this one:
Also see: AJAX POST and Plus Sign ( + ) -- How to Encode?
http://www.google.com/search?q=foo%2Bbar
IIS prevents plus-signs from being in URL path elements.
To disable this feature, in
web.config
: