In my Controllers i have class AccountController and within in i have this method
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult LogOff()
{
WebSecurity.Logout();
return RedirectToAction("Index", "Home");
}
In my Views i have cshtml page with body and this part of code
<form class="float_left" action="Controllers/AccountController" method="post">
<button class="btn btn-inverse" title="Log out" type="submit">Log Off</button>
</form>
And this doesn't work, anyone know what is problem or some other simple solution?
click(function () { //On click of your button var property1 = $('#property1Id'). val(); //Get the values from the page you want to post var property2 = $('#property2Id').
You're not referencing the action method here:
action="Controllers/AccountController"
For starters, you don't need to specify Controllers/
because the framework will find the controller for you. Indeed, the notion of a "folder" of controllers isn't known to the client/URL/etc. What you need to give it is a "route" to the specific action method.
Since the MVC framework knows where the controllers are, you need only tell it which controller and which action method on that controller:
action="Account/LogOff"
The action
attribute is pointing to a wrong controller action. Your controller action is called LogOff
and not AccountController
. You should never be manually building <form>
elements like that but always use the html helpers that are designed for this purpose:
@using (Html.BeginForm("LogOff", "Account"))
{
<button class="btn btn-inverse" title="Log out" type="submit">Log Off</button>
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With