如何通过单击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]方法答案 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
来检查状态或其他任何内容。