【问题标题】:check radio box list item value according to query results根据查询结果勾选单选框列表项值
【发布时间】:2019-12-07 22:05:41
【问题描述】:

在编辑表单中,我有一个单选按钮的值,我从我的查询中获得, 用户需要如何检查他的选择&我他想改变(改变他的选择)。所以我需要显示选择的正确值和其他未选中的值。该列表是手动的(不是来自数据库) 我需要类似(if value (from db==value on view checked="checked" else checked="")

这是我的代码:

@{
    var District = "Apple";
 }
<div class="col-md-10">
   <div class="checkbox">
       <input type="radio" name="District" value="@Model.District)" />
               @if (District.Length==(District.Length) )
               {
                  <ul class="list-inline" style="float: right">
                     <li class="radio space">
                        <label>
                           <input type="radio" asp-for="District" value="Apple" checked="checked">
                        </label>
                     </li>
                     <li class="radio space">
                        <label>
                           <input type="radio" asp-for="District" value="Pear" checked="">
                        </label>
                     </li>
                     <li class="radio space">
                        <label>
                           <input type="radio" asp-for="District" value="Banana" checked="">
                        </label>
                     </li>
                     <li class="radio space">
                        <label>
                           <input type="radio" asp-for="District" value="Orange" checked="">
                        </label>
                     </li>
                 </ul>
               }
   </div>
</div>

【问题讨论】:

    标签: c# asp.net-core asp.net-core-mvc razor-pages


    【解决方案1】:

    取一个变量并将数据库值放入其中。然后使用if{} else {} 进行检查。 例如

    <input type="radio" asp-for="District" value="Orange" if(databasevalue= "on") print checked="checked" else{ print checked="" } 
    

    这是示例代码

    【讨论】:

      【解决方案2】:

      您不需要手动设置checked,因为当db中的数据等于收音机的值时它会自动设置。

      页面模型:

      public class RadioCheckedModel : PageModel
      {
          public string District { get; set; }
          public void OnGet()
          {
              District = "Apple";
          }
      }
      

      页面:

      @page
      @model Razor22pages.Pages.RadioCheckedModel
      
      <h1>RadioChecked</h1>
      @{
          var District = "Apple";
      }
      <div class="col-md-10">
          <div class="checkbox">
              <input type="radio" name="District" value="@Model.District)" />
              @if (District.Length == (District.Length))
              {
                  <ul class="list-inline" style="float: right">
                      <li class="radio space">
                          <label>
                              <input type="radio" asp-for="District" value="Apple" >
                          </label>
                      </li>
                      <li class="radio space">
                          <label>
                              <input type="radio" asp-for="District" value="Pear">
                          </label>
                      </li>
                      <li class="radio space">
                          <label>
                              <input type="radio" asp-for="District" value="Banana" >
                          </label>
                      </li>
                      <li class="radio space">
                          <label>
                              <input type="radio" asp-for="District" value="Orange" >
                          </label>
                      </li>
                  </ul>
              }
          </div>
      </div>
      

      结果:

      【讨论】:

        【解决方案3】:

        谢谢@Xing Zou,但我去了差异解决方案。对于下一代这是我的解决方法 //控制器

            ViewBag.dis = new string[4] { "a", "b", "c", "d" };
        //View
         @foreach (var item in (ViewBag.dis))
                            {
                                if (item != Model.District)
                                {
                                    <label>
                                        <input type="radio" asp-for="District" value=@item checked="">
                                        <i class="fas fa-street-view"></i>@item
                                    </label>
                                }
                                else
                                {
        
                                    <i class="fas fa-street-view"></i>
                                    <label>
                                        <input type="radio" asp-for="District" value=@Model.District checked="checked">
                                        <i class="fas fa-street-view"></i>@Model.District
                                    </label>
                                }
                            }
        

        【讨论】:

          猜你喜欢
          • 2011-05-22
          • 2016-01-30
          • 1970-01-01
          • 1970-01-01
          • 2012-03-03
          • 1970-01-01
          • 2014-07-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多