使用普通的HTML按钮在ASP.NET MVC2中调用Controller?

时间:2010-11-23 13:06:56

标签: c# asp.net-mvc-2

我想使用普通的HTML Button来调用ASP.NET MVC2中的Controller,而不是ActionLink,这可能吗?

3 个答案:

答案 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类型更多,但它取决于您使用哪种现有样式。它们在功能上完全相同。