0
J'ai défini la route par défaut dans les RouteConfig.cs qui montrent ci-dessous:forme d'affichage à différentes actions du contrôleur ne fonctionne pas dans MVC
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{action}/{id}",
defaults: new { controller = "BackEnd", action = "Index", id = UrlParameter.Optional }
);
}
BackEnd Contrôleurs:
public class BackEndController : Controller
{
public ActionResult Index()
{
return View();
}
}
Contrôleur de compte:
public class AccountController : Controller
{
public ActionResult Index()
{
return View();
}
[HttpPost]
[ValidateAntiForgeryToken()]
public ActionResult LoginForm(Login item)
{
//Some code goes here...
return RedirectToAction("Index");
}
}
Connexion partielle:
using (Html.BeginForm("LoginForm", "Account", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.LabelFor(m => m.Username)
@Html.TextBoxFor(m => m.Username, new { placeholder = "Username" })
@Html.ValidationMessageFor(m => m.Username)
@Html.LabelFor(m => m.Password)
@Html.PasswordFor(m => m.Password, new { placeholder = "Password" })
@Html.ValidationMessageFor(m => m.Password)
<input type="submit" value="Login" />
}
Ma forme ne soumet pas à l'action du contrôleur Account/Login
.
Votre définition de la route doit être 'url: "{contrôleur}/{action}/{id}",' –
@StephenMuecke Je ne veux pas définir le contrôleur sur l'URL est-il une autre façon d'atteindre ce? –
Alors, comment voulez-vous distinguer un contrôleur d'un autre? –