我想使用普通的HTML Button来调用ASP.NET MVC2中的Controller,而不是ActionLink,这可能吗?
答案 0 :(得分:4)
当然,只需使用Url.Action()
呈现操作的URL即可。
<a href="<%= Url.Action("Action") %>">BLA BLA</a>
或
<button onclick="javascript: window.location = '<%= Ajax.JavascriptEncode(Url.Action("Action")) %> '">Click me</button>
答案 1 :(得分:3)
通常使用按钮,您可以使用javascript来调用操作或将其包装在表单中(或两者)。
<% Html.BeginForm( "action", "controller", new { id = Model.ID } )
{ %>
<button type="submit">Go</button>
<% } %>
<script type="text/javascript">
$(function() {
$('button').click( function() {
var form = $('form');
$.post( form.attr('action'), form.serialize(), function(msg) {
alert(msg);
});
return false; // don't really submit the form
});
});
</script>
答案 2 :(得分:1)
<form method="get" action="YourUrl">
<button type="submit">Click me</button>
<input type="submit" value="Or click me" />
</form>
您可能希望使用<%= Url.Action(...) %>
辅助方法来确定表单的action
网址。
这不需要javascript即可运行,但会获得您想要的外观。 button
代码的样式可以比input
类型更多,但它取决于您使用哪种现有样式。它们在功能上完全相同。