MVC按钮点击动作[复制](MVC button click to action [duplicat

2019-06-24 19:03发布

可能重复:
MVC Html.ActionButton

随着ASP.NET MVC 3 ,我知道如何创建一个链接的操作方法很容易,但我想知道的是你如何让一个按钮(点击时)调用特定的操作方法是什么?

Answer 1:

萨钦,

如果你正在使用jQuery(你不提,但我会显示为它与MVC相当标准),你会做以下几点:

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

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



Answer 2:

你可以使用HTML <form>

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


Answer 3:

你怎么做呢? 你如果不使用MVC相同的方式。

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


Answer 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,然后导航到动作参数信息



文章来源: MVC button click to action [duplicate]