gpt4 book ai didi

asp.net-mvc - Mvc 4 中的 bool 模型绑定(bind)问题

转载 作者:行者123 更新时间:2023-12-02 04:52:50 26 4
gpt4 key购买 nike

我想绑定(bind)一个 bool 属性到一个隐藏的输入 Controller ,但是输出的 html 代码是错误的

代码如下:

public class TestModel
{
public bool IsOk { get; set; }
public bool IsSuccess { get; set; }
}

public class HomeController : Controller
{
public ActionResult Index()
{
return View(new TestModel { IsOk = false, IsSuccess = true });
}
}

<h2>Index</h2>
<p>@Model.IsOk</p>
<p>
<input type="hidden" value="@Model.IsOk" />
</p>
<p>
<input type="hidden" value="@Model.IsSuccess" />
</p>

HTML 输出

<h2>Index</h2>
<p>False</p> //works

<p>
<input type="hidden" /> //where is value?
</p>

<p>
<input type="hidden" value="value" /> //wath's this?
</p>

但是如果我使用 ToString(),上述所有方法都运行良好,那是我的错误吗?

最佳答案

在 HTML 中,当您有一个用作开/关或 true/false 开关的属性时,您可以在该属性为 off/false 时删除该属性,并在该属性为 on 时添加与属性名称具有相同值的属性/真的。 Razor 为您提供您已经体验过的功能。

也许您打算在 View 中使用 Html.HiddenFor

<p>
@Html.HiddenFor(m => m.IsOk)
</p>
<p>
@Html.HiddenFor(m => m.IsSuccess)
</p>

这将生成此 HTML,其中您有 value="False"value="True",如您所愿:

<p>
<input data-val="true" data-val-required="The IsOk field is required."
id="IsOk" name="IsOk" type="hidden" value="False" />
</p>
<p>
<input data-val="true" data-val-required="The IsSuccess field is required."
id="IsSuccess" name="IsSuccess" type="hidden" value="True" />
</p>

此外,模型绑定(bind)器将能够往返您查看模型属性。

关于asp.net-mvc - Mvc 4 中的 bool 模型绑定(bind)问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18529049/

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