如何从按钮单击事件调用具有复杂参数的 MVC 操作方法,如下所示?
[ValidateInput(false)]
[HttpPost]
public ActionResult Export(ViewModel vm)
{
// some logic
}
我已将其设为 POST 操作,因为我需要将按钮所在的当前页面的 HTML 标记传递给太长的操作方法。我试过这个,但这是一个 GET 操作
<input type="button" value="Detail" onclick="location.href='@Url.Action("Export", "Report")?html=' + $('#test').html()" />
原文由 CSharped 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您想使用按钮单击来执行此操作,您可以在 JS 中订阅按钮的单击事件。在你的 JS 中,你可以做一个 ajax post,它将一个 JSON 对象(你的 VM)发布到你的操作:
剃刀:
记者:
另一种方法是使用表单提交视图模型。