【问题标题】:how to convert string value in a html check box to boolean?如何将html复选框中的字符串值转换为布尔值?
【发布时间】:2011-05-26 01:44:17
【问题描述】:

我有一个复选框组,其中包含三个不同的值。存储和未存储是一个布尔值,“等待”是字符串值。我正在将一个字符串值传递给支票簿。我有一个错误说不能将布尔转换为字符串...

状态

            <div class="field forCheckbox">
                <%:Html.CheckBoxFor(model => model.Stored)%>
                <%:Html.LabelFor(model => model.Stored)%>
            </div>



            <div class="field forCheckbox">
                <%:Html.CheckBoxFor(model => model.Not Stored)%>
                <%:Html.LabelFor(model => model.Not Stored)%>
            </div>


            <div class="field forCheckbox">
                <%:Html.CheckBoxFor(Convert.boolean(model=>model.Waiting))%>
                <%:Html.LabelFor(model=>model.Waiting) %>
            </div>

我该怎么办?

【问题讨论】:

    标签: asp.net html asp.net-mvc-2 checkbox


    【解决方案1】:

    我同意 balexandre 的回答,但我认为在 null 值的情况下使用 'Equals' 会更好。
    而且写'cond?true:false'是没有用的。 “条件”有效。

    <div class="field forCheckbox">
       <%:Html.CheckBox(model => {return "Waiting".Equals(model.Waiting)})%>
       <%:Html.LabelFor(model=>model.Waiting) %>
    </div>
    

    【讨论】:

      【解决方案2】:

      你可以使用

      <%:Html.CheckBox("Waiting", Model.Waiting.ToLower() == "waiting"))%>
      

      或将boolean 属性添加到您的模型:

      public bool WaitingBool { 
          get {
              if(!String.IsNullOrEmpty(this.Waiting) && 
                 this.Waiting.ToLower() == "waiting") 
                  return true;
              return false;
          } 
      }
      

      你可以使用:

      <%:Html.CheckBoxFor(model=>model.WaitingBool)%>
      

      【讨论】:

      • 没有理由写? true : false
      • @Slaks:很好奇,这是为什么呢?
      猜你喜欢
      • 2021-12-15
      • 1970-01-01
      • 1970-01-01
      • 2015-08-13
      • 2011-02-17
      • 2012-04-02
      • 2021-02-23
      • 2011-01-13
      相关资源
      最近更新 更多