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

问题描述 投票:3回答:1

我有一个表格(下面)张贴到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' />
ajax razor model-view-controller umbraco
1个回答
7
投票

它是将表单路由到正确的控制器/操作方法(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

© www.soinside.com 2019 - 2024. All rights reserved.