Использовать обычную кнопку HTML для вызова контроллера в ASP.NET MVC2? - PullRequest
3 голосов
/ 23 ноября 2010

Я хочу использовать обычную кнопку HTML для вызова Controller в ASP.NET MVC2 вместо ActionLink, возможно ли это?

Ответы [ 3 ]

4 голосов
/ 23 ноября 2010

Конечно, просто используйте Url.Action(), чтобы отобразить URL для действия.

<a href="<%= Url.Action("Action") %>">BLA BLA</a>

или

<button onclick="javascript: window.location = '<%= Ajax.JavascriptEncode(Url.Action("Action")) %> '">Click me</button>
3 голосов
/ 23 ноября 2010

Как правило, с помощью кнопки вы либо используете 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>
1 голос
/ 24 ноября 2010
<form method="get" action="YourUrl">
    <button type="submit">Click me</button>
    <input type="submit" value="Or click me" />
</form>

Возможно, вы захотите использовать вспомогательные методы <%= Url.Action(...) %> для определения URL-адреса action для формы.

Для работы не требуется JavaScript, но вы получите тот вид, который вы ищете,Теги button могут быть стилизованы немного больше, чем тип input, но это зависит от того, какие существующие стили у вас могут быть, и какой вы используете.Они функционально идентичны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...