mvc 6 只生成一次 antiforgerytoken
mvc 6 generates antiforgerytoken only once
我正在使用 visual studio 2015 和 aspnetcore rc2。我在每个表格中都使用 @html.antiforgerytoken()
到 post。但是 mvc 6 创建第一个并删除(或忽略,也许)其他的。我用 masterview 试过这个,没有 master,没有结果。我在想我在某处有错误,但在哪里?我清除了浏览器历史记录并创建了一个简单的空 asp.net 项目,其中包含一个视图和一个控制器,再次尝试但没有结果。
这是屏幕截图。
output 我不使用 @addtaghelper
或任何其他类似的扩展,我只使用 @html.antiforgerytoken
.
Github repo aspnet/MVC 有一堆关于多个 AntiForgeryToken
调用的问题:#319, #4595, #4924. It seems that current behavior is a "effect" of previous bug. Opened #5005.
目前(从 1.0.0 RTM 开始)我们有解决方法:将生成的令牌保存到变量并多次写入此变量:
@{
var token = Html.AntiForgeryToken();
}
<form id="form-one">
@token
</form>
<form id="form-two">
@token
</form>
更新: 问题 #5005 confirmed as bug, scheduled for 1.1.0 milestone.
正如我在#5005中提到的,只有当HTML和标签助手不用于生成<form>
元素时才会出现这种情况.
除了切换到 HTML 代,即使用更具侵入性的助手,最简单的解决方法是在 _ViewImports.cshtml
中添加以下内容:
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
或
@addTagHelper Microsoft.AspNetCore.Mvc.TagHelpers.RenderAtEndOfFormTagHelper, Microsoft.AspNetCore.Mvc.TagHelpers
我正在使用 visual studio 2015 和 aspnetcore rc2。我在每个表格中都使用 @html.antiforgerytoken()
到 post。但是 mvc 6 创建第一个并删除(或忽略,也许)其他的。我用 masterview 试过这个,没有 master,没有结果。我在想我在某处有错误,但在哪里?我清除了浏览器历史记录并创建了一个简单的空 asp.net 项目,其中包含一个视图和一个控制器,再次尝试但没有结果。
这是屏幕截图。
@addtaghelper
或任何其他类似的扩展,我只使用 @html.antiforgerytoken
.
Github repo aspnet/MVC 有一堆关于多个 AntiForgeryToken
调用的问题:#319, #4595, #4924. It seems that current behavior is a "effect" of previous bug. Opened #5005.
目前(从 1.0.0 RTM 开始)我们有解决方法:将生成的令牌保存到变量并多次写入此变量:
@{
var token = Html.AntiForgeryToken();
}
<form id="form-one">
@token
</form>
<form id="form-two">
@token
</form>
更新: 问题 #5005 confirmed as bug, scheduled for 1.1.0 milestone.
正如我在#5005中提到的,只有当HTML和标签助手不用于生成<form>
元素时才会出现这种情况.
除了切换到 HTML 代,即使用更具侵入性的助手,最简单的解决方法是在 _ViewImports.cshtml
中添加以下内容:
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
或
@addTagHelper Microsoft.AspNetCore.Mvc.TagHelpers.RenderAtEndOfFormTagHelper, Microsoft.AspNetCore.Mvc.TagHelpers