While trying to take the URL parameters from a page view and append them to an API call from a Razor web page in an MVC web application I kept on getting the URI encoded version of the ampersand from Context.Request.QueryString rather than the raw one that’s needed to separate parameters. The below snippet is how I managed to embed the correct URL using the Url.Action helper and the Html.Raw utility.
$.ajax({
url: '@(Html.Raw(Url.Action("Index", "DataCapture") + Context.Request.QueryString))',
type: 'POST',
headers: { 'RequestVerificationToken': getAntiForgeryToken({}) },
dataType: 'text',
data: { 'responseJson': JSON.stringify(data) },
success: function () {
window.location.href = '@Url.Action("ThankYou", "DataCapture")/@ViewContext.RouteData.Values["id"]';
},
error: function () {
location.href = '@Url.Action("Error", "DataCapture")';
}
});
0 Comments