Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

asp.net mvc actionlink difficulties

i have an actionlink in my view

<%= Html.ActionLink("action","controller") %>

the action has a [AcceptVerbs(HttpVerbs.Post)] atttribute, and the lactionlink doesn't work.

how to make it work by "POST"??

like image 530
CoffeeCode Avatar asked Jul 02 '26 11:07

CoffeeCode


1 Answers

To post to an action I use this JavaScript function:

function postToUrl(path, params, method) 
{
    method = method || "post"; // Set method to post by default, if not specified.

    // The rest of this code assumes you are not using a library.
    // It can be made less wordy if you use one.
    var form = document.createElement("form");
    form.setAttribute("method", method);
    form.setAttribute("action", path);

    for (var key in params) {
        var hiddenField = document.createElement("input");
        hiddenField.setAttribute("type", "hidden");
        hiddenField.setAttribute("name", key);
        hiddenField.setAttribute("value", params[key]);

        form.appendChild(hiddenField);
    }

    document.body.appendChild(form);    // Not entirely sure if this is necessary
    form.submit();
}

It creates html form, so you don't have to create it in view code. this way you can use:

<button onclick="postToUrl('/Controller/Action');">Link</button>
like image 106
LukLed Avatar answered Jul 04 '26 23:07

LukLed



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!