gpt4 book ai didi

asp.net-mvc - 如何将 BindAttribute.Prefix 应用于 Int32 类型的操作方法参数?

转载 作者:行者123 更新时间:2023-12-02 03:43:01 26 4
gpt4 key购买 nike

当我将 BindAttribute.Prefix 应用于操作参数 value 时,我希望 DefaultModelBinder 使用自定义前缀 或回退到空前缀(在任何一种情况下,value 参数都将被分配数字100)。但相反,它两者都没有,因此以下代码会引发异常:

参数字典包含方法“System.Web.Mvc.ActionResult Index(Int32)”的不可空类型“System.Int32”的参数“value”的空条目

[HttpPost]
public ActionResult Index([Bind(Prefix = "originalPrefix")]int value)
{
return View();
}

public ActionResult Index()
{
return View();
}

索引.cshtml:

 using (Html.BeginForm())
{
<input id="originalPrefix.value" name="originalPrefix.value" type="text" value="100" />
<input id="value" name="value" type="text" value="100" />

<input type="submit" value="submit" />
}

a) 为什么 DefaultModelBinder 无法将表单数据绑定(bind)到value参数?

b) 如果可能,我们如何将 BindAttribute.Prefix 应用于 Int32 类型的操作方法参数?

谢谢

最佳答案

name 属性的值应为“originalPrefix”,而不是“originalPrefix.value”。您正在尝试绑定(bind)参数而不是参数的 value 属性。

关于asp.net-mvc - 如何将 BindAttribute.Prefix 应用于 Int32 类型的操作方法参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15933094/

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