MVC按钮单击操作

时间:2012-05-25 11:39:55

标签: asp.net-mvc-3 button actionmethod

  

可能重复:
  Mvc Html.ActionButton

使用ASP.NET MVC 3我知道如何非常轻松地创建一个动作方法的链接,但我想知道的是你如何制作一个按钮(点击时)调用特定的动作方法?

4 个答案:

答案 0 :(得分:22)

萨钦,

如果您正在使用jquery(您没有提及,但我会显示它与mvc相当标准),您可以执行以下操作:

$('#buttonId').click(function(){
   document.location = '@Url.Action("MyAction","MyController")';
});

当然,你可能想要使用ajax,但这是一个基本的例子。

答案 1 :(得分:15)

您可以使用html <form>

@using (Html.BeginForm("SomeAction", "SomeController", FormMethod.Get))
{
    <input type="submit" value="Click me" />
}

答案 2 :(得分:4)

除了Darin关于使用表单GET方法的答案之外,您还可以调用javascript函数,然后依次调用操作。

单击时可以拦截按钮单击事件并运行您自己的代码。该代码可以使用Ajax异步调用操作,或者只是导航到操作方法

以下是截取按钮点击事件的示例javascript

$(document).ready(function () {

    myButton.onclick = function (event) {
        // in here you can call an ajax method or just navigate to an action 
        return false;
    }

    // or using jQuery
    $('#myButton').click(function (e) {
        // do whatever here
        e.preventDefault;
    });
});

或者您可以截取具有href属性的按钮

$(function () {
     $("#myButton").click(function () {
         var href = $(this).attr("href");
         var route = href + "?paramName=" + $('#SomeValue').val();
         $(this).attr("href", route);
     });
});

这会添加您可能已存储在页面上其他输入中的参数信息,并将其附加到Url,然后导航到该操作

答案 3 :(得分:4)

你是怎么做到的? 就像没有使用MVC一样。

<INPUT TYPE="BUTTON" VALUE="Home Page" ONCLICK="window.location.href='/Controller/Action'">