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



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

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

现在,如果GenerateError是一个非操作方法怎么办?如何使用button click

调用[NonAction]方法

您可以为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();
}

我就是不明白你为什么需要它

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

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

最新更新