首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态表单与AntiForgeryToken MVC

动态表单与AntiForgeryToken MVC
EN

Stack Overflow用户
提问于 2010-05-03 21:44:16
回答 1查看 978关注 0票数 2

我想在MVC页面上创建动态表单,生成类似这样的内容。

代码语言:javascript
复制
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?!?如有任何帮助,将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2010-10-17 18:46:48

看起来,您调用的动态表单实际上是一种将锚链接转换为表单的努力,以便您可以发布而不是获取。在这种情况下,我建议您直接在服务器上生成表单,而不是费心地发出链接,然后使用onclick事件中的所有这些javascript将链接转换为表单:

因此,与其:

代码语言:javascript
复制
<%= Html.ActionLink("OK", "controller", "action", null, 
    new { onclick = "Some ugly javascript" })%>

你可以直接:

代码语言:javascript
复制
<% using (Html.BeginForm("controller", "action")) { %>
    <%= Html.AntiForgeryToken() %>
    <input type="submit" value="OK" />
<% } %>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2761433

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档