Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc MVC4中的布尔模型绑定问题_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

Asp.net mvc MVC4中的布尔模型绑定问题

Asp.net mvc MVC4中的布尔模型绑定问题,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,我想将布尔属性绑定到隐藏的输入控制器,但输出html代码出错 代码如下: public class TestModel { public bool IsOk { get; set; } public bool IsSuccess { get; set; } } public class HomeController : Controller { public ActionResult Index() { return View(new TestM

我想将布尔属性绑定到隐藏的输入控制器,但输出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>
公共类测试模型
{
公共bool IsOk{get;set;}
公共bool issucess{get;set;}
}
公共类HomeController:控制器
{
公共行动结果索引()
{
返回视图(新的TestModel{IsOk=false,issucess=true});
}
}
指数
@Model.IsOk

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属性需要字符串对象 它不是自动转换的


因此,当您有一个作为开/关或真/假开关的属性时,您必须在HTML中使用
ToString()

,当属性为关/假时,您删除该属性,当属性为开/真时,添加与属性名具有相同值的属性。Razor为您提供了您已经体验过的功能

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

<p>
    @Html.HiddenFor(m => m.IsOk)
</p>
<p>
    @Html.HiddenFor(m => m.IsSuccess)
</p>
此外,模型绑定器还可以让您往返查看模型属性。

请尝试此操作

 $('#controlId').is(":checked");

当通过jquery绑定布尔值时,此语法的可能副本用于复选框控制。
 $('#controlId').is(":checked");