Ajax implementation for handling URL action parameters

I am currently facing challenges in passing data from a view to a controller using parameters. My goal is to pass these parameters when I select a row from a table and click on a button that triggers the ShowTasks() function.

Here is the C# controller code snippet:

     [Route("/service/delivery/{id}/{shopdoccode}/{regdate}")]
     public ActionResult Delivery(string id, string shopdoccode, string regdate)
     {
        //perform necessary operations
     }

Below is the Javascript function triggered by the button click:

function ShowTasks() {
    //This section enables selecting a row in the table
    var $selectedRow = $(".highlight");
    if ($selectedRow.length == 1) {
        var dcColumn = 0;
        var rdColumn = 1;
        var shopdoccodeColumn = 3;

        //extracting column values 
        var id = $selectedRow[0].children[dcColumn].innerText.trim();
        var regdate = $selectedRow[0].children[rdColumn].innerText.trim();
        var shopdoccode = $selectedRow[0].children[shopdoccodeColumn].innerText.trim();

        //ajax call
        if (id && regdate && shopdoccode) {
            $.ajax({
                type: 'POST',
                url: '@Url.Action("service", "delivery" ,new { id = "id", shopdoccode = "shopdoccode", regdate = "regdate" })',
                data: { id, regdate, shopdoccode },
                success: function (data) {
                    if (data.success) {
                        console.log("Success");
                    }

                },
                error: function (data) {
                    console.log("Error");
                }
            });
            
        }
    }
}

I have spent hours trying to find a solution for passing parameters to my controller to invoke a SQL stored procedure. Unfortunately, using a hidden form is not an option for me.

In my quest for answers, I found this resource quite helpful: Url.Action parameters?

@sleeyuen https://i.sstatic.net/Nq2S1.png

Answer №1

It seems like there might be an issue with the order of parameters in your Url.Action. Try adjusting it to:

url: '@Url.Action("delivery", "service", new { id = "id", shopdoccode = "shopdoccode", regdate = "regdate" })',

Make sure you are using the correct overload for the method, which should follow this format:

Action(String, String, Object) with actionName, controllerName, and routeValues specified in that order.

Answer №2

Razor code cannot be written directly in *.js or *.html files.

@Url.Action(string actionName, string controllerName, object routeValues)

The above code can only be used in a *.cshtml file.

Answer №3

experiment using Url.RouteUrl as an alternative to Url.Action

Similar questions

If you have not found the answer to your question or you are interested in this topic, then look at other similar questions below or use the search

I require a way to decelerate the speed of the roulette wheel's rotation

For my assignment, I'm tasked with creating a roulette spin wheel code in JavaScript without using any plugins. I need to incorporate some conditions before executing the code, particularly for slowing down the speed of the roulette spin. Additionally ...

Razzle fails to initiate the server

After creating my React project with Razzle.js and downloading it from a repository, I encountered an issue when trying to run it. Upon running yarn start, the screen gets stuck at a message saying the source is compiled and server is running on localhost: ...

How can I prevent an endless loop in jQuery?

Look at the code snippet below: function myFunction(z){ if(z == 1){ $(".cloud").each(function(index, element) { if(!$(this).attr('id')){ $(this).css("left", -20+'%'); $(this).next('a').css ...

Ensuring that certain elements are fully loaded in C# Selenium WebDriver before proceeding

My goal with Selenium WebDriver is to achieve the following steps: Visit Click on a filter Click on the first Ad after filtering However, it currently clicks on the first Ad before the filtering process is complete (the entire page doesn't reloa ...

Discover how to effortlessly unveil JSON data by clicking on data retrieved from an API

After successfully parsing data from a Tumblr API, I encountered an issue when introducing tags within the body description, which includes images and hyperlinks. The main task at hand is to create a list of blog titles where the corresponding blog descri ...

Facing difficulty observing Content-Disposition header in create-react-app project

I am using a create-react-app that is being served by express. Express is acting as a proxy for the app and all the application logic resides in CRA. My issue lies in calling an API to download a file. The API sends back a "Content-Disposition" header wit ...

JavaScript syntax issue: Required formal parameter not found

Can someone help me understand why this error message is showing up in the console for the code provided? I've followed the link indicated as the issue and it points to this specific line: " $('tr').each(function() { ". (I may have included ...

Error encountered while attempting to build Ionic 5 using the --prod flag: The property 'translate' does not exist on the specified type

I encountered an error while building my Ionic 5 project with the --prod flag. The error message I received is as follows: Error: src/app/pages/edit-profile/edit-profile.page.html(8,142): Property 'translate' does not exist on type 'EditProf ...

Program not appearing in Start menu after installing

After creating a deployment project for my simple .Net 4.0 C# Winforms app, I noticed that the program is not appearing on the start menu upon installation. This issue occurred when testing it on both my 64-bit Win7 desktop and my 32-bit XP Laptop. In pre ...

Exploring VueJS Router History Mode with NGinx web server

After conducting research, I discovered several issues similar to the one I am facing. Currently, I have a docker-compose setup on Digital Ocean with NGinx, VueJS, and a Static Landing Page. Everything was working fine until I added a new route with a fo ...

How can I store the content of a meta tag in a JavaScript variable?

Similar Question: How can I extract data from a meta tag using JavaScript? I have a meta tag that can be customized with content on a specific page, and I'm looking to retrieve this content as a variable in JavaScript. ...

Transforming the typical click search into an instantaneous search experience with the power of Partial

I am working on a form that, when the user clicks a button, will display search results based on the entered searchString. @using (Html.BeginForm("Index", "Search")) { <div id="search" class="input-group"> @Html.TextBox("searchString", n ...

Specialization of return class in WCF

In my WCF web service, I have a method called M that returns an instance of the class A. This method is set up to use JSON serialization. Now, here's my dilemma: I have another class called B which directly inherits from class A. When I try to return ...

Adjust the width of a container to exceed 32767 using jquery in the Opera browser

I am looking to create a compact timeline using jQuery, and I want this timeline to have a width exceeding 32767 pixels. Interestingly, when I attempt to modify the width using the jQuery code $(".timelinecontainer").width(32767);, it doesn't seem to ...

Interactive JQuery calendar

Can anybody assist me with this issue? I am seeing question marks in the graphic and I'm not sure why. I remember encountering these symbols before and I believe it has something to do with charset. Currently, I am using: <meta http-equiv="Content ...

Verify if the button is assigned a specific class, then generate a 'completed' div

I'm new to working with Jquery and I have a question. In my upload form, when something is uploaded the upload-button changes class from: <a class="upload-button upload buy" id="upload-button"><span>Upload a document</span></a> ...

Using ng-selected directive along with ng-repeat in a select dropdown

Apologies for asking once more. I am having trouble setting a default value for a select element. Here is the code that I have been using: Plnkr I am unable to use ng-options in this particular scenario. Your assistance without utilizing ng-options would ...

Why am I unable to retrieve data using jQuery and PHP?

I'm working with a PHP form that involves checkboxes: <form action="" method="post" id="CheckBoxForm"> foreach ( $results as $result ) : <input type="checkbox" class="chk" id="check_list[]" value="'.($result->meta_value).&a ...

When trying to access localhost:5000, the index.js file is unable to retrieve /

const NutritionAPI = require('./nutritionapi'); const nutService = new NutritionAPI('50cee42503b74b4693e3dc6fccff8725','2755697297a84ac5a702461b166e71f6'); // Setting up Express webhook const express = require('express&ap ...

Displaying various Vue components within Laravel 6.x

After diving into Laravel and Vue, I managed to put together a navigation component as well as an article component. The problem I'm facing is that although my navigation vue component is visible, the article component seems to be missing. Reviewing ...