在编辑表单中,我有一个单选按钮的值,该值是从查询中获取的,
用户需要如何检查他的选择以及我想如何更改(更改他的选择)。所以我需要显示选择的正确值和另一个取消选中。该列表是手动的(不是来自数据库)
我需要类似(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>
答案 0 :(得分:0)
获取一个变量,并将数据库值放入其中。然后使用if{} else {}
进行检查。
例如
<input type="radio" asp-for="District" value="Orange" if(databasevalue= "on") print checked="checked" else{ print checked="" }
这是示例代码
答案 1 :(得分:0)
您不需要手动设置checked
,因为当db中的数据等于无线电的值时,它将自动设置。
PageModel:
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>
答案 2 :(得分:0)
谢谢@Xing Zou,但是我去了dif解决方案。对于下一代,这是我的解决方法 //控制器
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>
}
}