如何通过单击MVC中的按钮来调用非操作方法

时间:2013-04-04 09:55:29

标签: c# asp.net-mvc asp.net-mvc-3 razor

如何通过单击MVC中的按钮来调用非操作方法

@using (Html.BeginForm("GenerateError", "Home", FormMethod.Post, new { id = "submitForm" }))
{
     <button type="submit" id="btnSubmit" name="Command" value="Submit">Generate Error</button> 
}

现在,如果GenerateError是一个非动作方法怎么办?如何使用按钮单击

调用[NonAction]方法

3 个答案:

答案 0 :(得分:1)

您可以为GenerateError创建一个动作包装器并使用它

编辑:

@using (Html.BeginForm("GenerateErrorWrapper", "Home", FormMethod.Post, new { id = "submitForm" }))
{
     <button type="submit" id="btnSubmit" name="Command" value="Submit">Generate Error</button> 
}

你的NonActionMethod:

[NonActionMethod]
public void NonActionMethod()
{
    ...
}

你的动作包装:

public ActionResult View()
{
    NonActionMethod();
}

我无法理解你为什么需要它

答案 1 :(得分:0)

如果没有使用NonActionAttribute标记,您可以向URL {controller} / {your_non-action_method}发出ajax请求。

答案 2 :(得分:0)

您还可以使用Jquery $.post$.ajax来检查状态或其他任何内容。