mvc表单如何绑定bool类型的属性或变量

先来看一组代码:

视图代码:

@model MvcTest.Controllers.Test
@{
    Layout = null;
}

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>表单提交</title>
</head>
    <body>
        <form method="POST" action="">
            <input name="Tester" value="@Model.Tester" />
            <input type="submit" />
        </form>
    </body>
</html>

Model类:

public class Test
{
     public bool Tester { get; set; }
}

控制器代码:

public ActionResult FormPost()
{
      Test model = new Test();
      model.Tester = true;
      return View(model);
}

   问题是在view中name为Tester的Input属性value值是多少?相信很多人会认为是true,但结果是value。

同样把Model.Tester放在其他html标签里,值会跟其属性一一对应。

<span id="id" name="name"></span>

  那怎样解决这个问题呢?请看下面代码:

<input name="Tester" value="@Model.Tester.ToString()" />

      对于bool类型转换string解释是"将此实例的值转换为其等效字符串表示形式("True"或"False")",照这

样说,Model.Tester.ToString返回true也不难理解。但是为什么没有直接返回true呢?这可能是razor视

图是这样处理的吧。在asp.net里不存在这样的情况。

      在此要感谢园友(519740105)的帮助,问题才得以解决。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。