Je suis venu Acros S le même problème moi-même et résolu en utilisant un attribut data-
et certains jQuery. L'avantage de le faire de cette façon est que vous obtenez toujours l'URL correcte lorsque vous passez la souris sur le lien, même s'il effectue un POST. Notez que le Html.BeginForm
contient l'action par défaut dans le cas où l'utilisateur appuie sur la touche Entrée.
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();
});
});
a obtenu. merci, tige. – Rod