微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax – 隐藏字段“ufprt”被添加到Razor Umbraco表格 – 为什么?

我有一个表格(下面)张贴到umbraco表面控制器.

@using (Html.BeginUmbracoForm("AddToBasket","Basket"))
{

<h1>@Model.productSelectionModel.Product.Title - @Model.productSelectionModel.Product.Price.ToString("C")</h1>

<ul>
    @foreach (var productOption in Model.productSelectionModel.ProductOptions)
    {
        <li>@productOption.Option.Title</li>
        @Html.DropDownList(productOption.Option.Id.ToString(),productOption.ValuesInoptions.ToSelectList(f => f.OptionValue.OptionValue1,f => f.Id.ToString(),"Select"));                                             
    }
</ul>

    <input type="submit" value="Add To Basket">
}

当我查看为此表单呈现的HTML时,似乎添加一个名为ufprt的隐藏字段.有人知道这是什么吗?它为什么被添加,我没有在任何地方使用它(我不认为我是)

有任何想法吗?

<input name='ufprt' type='hidden' value='6C01896EF3D5F430F9ED041DD2B0D31F89FA969A085C6F4FDEC3C9D4B906846E7AA80041CEA12573E9F58C1740893B770AAE3319FAA8FA35C89A54D301CFE31B85ADC0D3D9506D208DB068D1257C5F0D5F1B3B90FD59A5C2938EED0A2EB1168AD4573CD5D043D47A8F1AA789E988CC614686B89BE57D35DA8EAAA110044C393F' />

解决方法

它是将表单路由到正确的控制器/操作方法(Umbraco能够通过该输入值而不是使用URL的典型MVC方法来路由表单).我相信这对于表面控制器是特别的(即,它不适用于普通控制器,API控制器或RenderMvcController).

一个答案表明,它不是CSRF令牌.如果是,它可能会有一个名称为“__RequestVerificationToken”,如下所示:http://www.asp.net/web-api/overview/security/preventing-cross-site-request-forgery-%28csrf%29-attacks

编辑:此信息已添加到此处:https://github.com/kgiszewski/LearnUmbraco7/blob/a97e85e5ad17e2ba9fc463f02c76885911046b57/Chapter%2006%20-%20Surface%2C%20WebAPI%20and%20RenderMVC%20Controllers/02%20-%20Surface%20Controllers.md#special-routing

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐