什么值[“PromoCode”]参考
本文关键字:参考 PromoCode 什么 | 更新日期: 2023-09-27 18:25:40
我正在阅读本教程,并对他用本语句的第一部分重新定义的内容感到困惑,起初我认为这是promo代码表中的值,但没有可以用来构建该表的模型。教程链接如下:http://www.asp.net/mvc/overview/older-versions/mvc-music-store/mvc-music-store-part-9
string.Equals(values["PromoCode"], PromoCode,
StringComparison.OrdinalIgnoreCase) == false
PromoCode
是一个常数
values["PromoCode"]
是表单中发布的值之一:请参阅视图
您可以通过其键访问FormCollection
(values
是FormCollection
,它存储表单中的所有输入,并继承自NameValueCollection):键是输入的名称。
<div class="editor-field">
@Html.TextBox("PromoCode") // it's not a TextBoxFor
</div>
这将产生类似的东西
<input type="text" name="PromoCode" id="PromoCode" />
事实上,它与模型中的任何内容都没有关联。
查看方法签名:
public ActionResult AddressAndPayment(FormCollection values)
因此,它是所有已发布值的集合。
查看方法的签名:
public ActionResult AddressAndPayment(FormCollection values) // <-- here
{
// ...
if (string.Equals(values["PromoCode"], PromoCode,
StringComparison.OrdinalIgnoreCase) == false)
{
// ...
}
// ...
}
values
的类型是FormCollection
,这意味着从浏览器发布的HTML <form>
中的数据收集,MVC模型绑定将表单数据收集到FormCollection
实例(此处为values
)中,因此您可以通过类似values["PromoCode"]
的代码来获取表单数据,这与经典asp/asp.net中的Request.Form["PromoCode"]
相同。