ich kam acros s das gleiche Problem selbst und löste es mit einem data-
Attribut und einige jQuery. Der Vorteil dieser Vorgehensweise besteht darin, dass Sie immer noch die richtige URL erhalten, wenn Sie den Mauszeiger über den Link halten, obwohl er einen POST ausführt. Beachten Sie, dass die Html.BeginForm
die Standardaktion enthält, falls der Benutzer die Eingabetaste drückt.
HTML (ASP.NET MVC3 Razor)
@using (Html.BeginForm("Quick", "Search"))
{
<input type="text" name="SearchText" />
<a href="@Url.Action("Quick", "Search")" data-form-method="post">Search</a>
<a href="@Url.Action("Advanced", "Search")" data-form-method="post">Advanced</a>
}
jQuery
$("a[data-form-method='post']").click(function (event) {
event.preventDefault();
var element = $(this);
var action = element.attr("href");
element.closest("form").each(function() {
var form = $(this);
form.attr("action", action);
form.submit();
});
});
bekam sie. Danke, Stange. – Rod