Mam kontroler w okolicy zwanej Admin
Dlaczego Html.BeginForm generuje puste działanie?
public class SiteVisitController : Controller
{
public ViewResult ReadyForCompletion() { ... }
public ViewResult CompleteAndExport() { ... }
}
i widok (ReadyForCompletion.cshtml
), który ma wiadomości z powrotem do innego działania kontrolera w tej samej klasie
@using (Html.BeginForm("CompleteAndExport", "SiteVisit"))
{
<input type="submit" value="Complete & Export" />
}
Wygenerowany HTML dla tej formy ma pustą akcję:
<form action="" method="post"> <input type="submit" value="Complete & Export" />
</form>
Chcę wiedzieć dlaczego to ma ab prosta akcja? Aby uzyskać więcej informacji, dodałem także w
@Url.RouteUrl(new { controller = "ReadyForCompletion", action = "SiteVisit", area = "Admin" })
który również wydrukowany pusty ciąg. Ponadto, jeśli użyję pustego Html.BeginForm()
, generuje on poprawną akcję.
Zarejestrowani trasy są
context.MapRoute(
"Admin_manyParams",
"Admin/{controller}/{action}/{id}/{actionId}",
new { action = "Index", id = UrlParameter.Optional, actionId = UrlParameter.Optional }
);
można pokazać zarejestrowanych tras? –
dodałem zarejestrowanych tras, ale jestem zdezorientowany przez dlatego, że miałoby to znaczenia, ponieważ można z powodzeniem zrobić 'Html.BeginForm()' – kelloti