我已将剃刀视图更改为车把模板。
在剃须刀视图中:
using (Html.BeginForm("Start", "Form", FormMethod.Post, new { formTypeId = @Model.TypeId, organizationId = @Model.OrganizationId }))
{
@Html.AntiForgeryToken()
<input type="hidden" name="formTypeId" value="@Model.TypeId" />
<input type="hidden" name="organizationId" value="@Model.OrganizationId" />
<button class="btn btn-primary btn-block" type="submit">Start</button>
}
在车把模板中:
<form action="{{StartLink}}" method="post">
<input type="hidden" name="formTypeId" value="{{TypeId}}" />
<input type="hidden" name="organizationId" value="{{OrganizationId}}" />
<button class="btn btn-primary btn-block" style="margin-bottom: 5px;" type="submit">Start</button>
</form>
我不确定如何将防伪令牌添加到车把表单中。
答案 0 :(得分:0)
好的,这就是我想出的。
在我的index.cshtml中,我将防伪令牌传递给创建车把模板的js。
@section scripts {
<script>
$(function () {
window.formListBuilder = new app.components.FormListBuilder({
container: '#forms-container',
baseUrl: '@baseUrl.ToString()',
antiForgeryToken: '@Html.AntiForgeryToken()',
currentUser: JSON.parse('@Html.Raw(Json.Serialize(currentUser))')
})
});
</script>
}
然后在车把模板中,我使用防伪令牌。
<form action="{{StartLink}}" method="post">
{{{antiForgeryToken}}}
<input type="hidden" name="formTypeId" value="{{TypeId}}" />
<input type="hidden" name="organizationId" value="{{OrganizationId}}" />
<button class="btn btn-primary btn-block" style="margin-bottom: 5px;" type="submit">Start</button>
</form>
这是可以接受的解决方案,还是以某种方式绕过了安全性?