gpt4 book ai didi

c# - 无法理解如何决定何时使用 Hidden() 以及何时使用 HiddenFor()

转载 作者:行者123 更新时间:2023-11-30 14:54:14 25 4
gpt4 key购买 nike

我正在关注一本书,这是代码:

@using (Html.BeginForm("RemoveFromCart", "Cart"))
{
@Html.Hidden("ProductId", line.Product.ProductID)
@Html.HiddenFor(x => x.ReturnUrl)
<input class="btn btn-sm btn-warning" type="submit" value="Remove" />
}

这也是他为什么使用 Hidden 而不是 HiddenFor 的解释

enter image description here

但我仍然无法理解他所说的背后的接线。你能详细说明一下吗?

public RedirectToRouteResult RemoveFromCart(Cart cart, int productId, string returnUrl)

最佳答案

您需要记住,这些助手只是生成 HTML 标记的方法。

生成的标记示例:

@Html.Hidden("ProductId", line.Product.ProductID)

生成: <input type="hidden" name="ProductId" value="5" />

@Html.HiddenFor(x => x.Product.ProductID)

生成: <input type="hidden" name="Product_ProductId" value="5" />

您的 Controller 定义了一个名为 productId 的参数.为了使模型绑定(bind)起作用,name隐藏输入的值必须与参数名称匹配。

Product_ProductId将不匹配定义的参数 productId对于 RemoveFromCart Controller Action 。

值得注意的是,模型绑定(bind)不区分大小写。因此您的隐藏输入值 ProductId仍将绑定(bind)到 RemoveFromCart productId 的参数.

关于c# - 无法理解如何决定何时使用 Hidden() 以及何时使用 HiddenFor(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27734068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com