我想在MVC页面上创建动态表单,生成类似这样的内容。
onclick="
var f = document.createElement('form');
f.style.display = 'none';
this.parentNode.appendChild(f);
f.method = 'POST';
f.action = this.href;
var s = document.createElement('input');
s.setAttribute('type', 'hidden');
s.setAttribute('name', 'authenticity_token');
s.setAttribute('value', '6I6td2wJRI9Nu5Au/F3EfOQhxJbEMXabuVXM0nXonkY=');
f.appendChild(s);
f.submit();
return false;"我只是不知道如何在上面这样的事情上实现AntiForgeryToken?!?如有任何帮助,将不胜感激。
发布于 2010-10-17 18:46:48
看起来,您调用的动态表单实际上是一种将锚链接转换为表单的努力,以便您可以发布而不是获取。在这种情况下,我建议您直接在服务器上生成表单,而不是费心地发出链接,然后使用onclick事件中的所有这些javascript将链接转换为表单:
因此,与其:
<%= Html.ActionLink("OK", "controller", "action", null,
new { onclick = "Some ugly javascript" })%>你可以直接:
<% using (Html.BeginForm("controller", "action")) { %>
<%= Html.AntiForgeryToken() %>
<input type="submit" value="OK" />
<% } %>https://stackoverflow.com/questions/2761433
复制相似问题