未应用checked属性,条件返回true,但单选按钮不会被检查。
我正在尝试根据我的模型值设置其中一个单选按钮。
<div class="col-md-6 col-sm-6">
<div class="col-md-6 col-sm-6">
<div class="float-right">
<table>
<tr>
<td class="td-radio">
<input id="Voiture_IsTrajetSimple" name="Voiture_TypeTrajet" type="radio"
<% var KMVoiture_IsTrajetSimple = Model.KMVoiture_IsTrajetSimple;
if (KMVoiture_IsTrajetSimple)
{%>
checked
<% } %>>
<label class="label-radio" for="Voiture_IsTrajetSimple">Trajet simple</label>
</td>
</tr>
</table>
</div>
</div>
<div class="col-md-6 col-sm-6">
<div class="float-right">
<table>
<tr>
<td class="td-radio">
<input id="Voiture_IsTrajetAR" name="Voiture_TypeTrajet" type="radio"
<% var KMVoiture_IsTrajetAR = Model.KMVoiture_IsTrajetAR;
if (KMVoiture_IsTrajetAR)
{%>
checked
<% } %>>
<label class="label-radio" for="Voiture_IsTrajetAR">Trajet A/R</label>
</td>
</tr>
</table>
</div>
</div>
答案 0 :(得分:1)
在您的代码中,所有输入都缺少值属性,它需要类似于:
<input id="Voiture_IsTrajetSimple" name="Voiture_TypeTrajet" type="radio" value="TrajetSimple">
<input id="Voiture_IsTrajetAR" name="Voiture_TypeTrajet" type="radio" value="TrajetAR">
为此,模型必须具有Voiture.TypeTrajet
属性,其类型可以设置为"TrajetSimple"/"TrajetAR"
值(例如字符串或枚举)。一旦检查了任何单选按钮,客户端Voiture.TypeTrajet
的值将被设置为相应的。
所以解决办法可能是:
创建包含KMVoitureTrajet属性的所有可能值的枚举
public enum TypeTrajetEnum
{
Simple,
AR
}
在您的模型中创建KMVoitureTrajet
属性(而不是您当前拥有的KMVoiture_IsTrajetAR
和KMVoiture_IsTrajetSimple
布尔属性)
public class Model
{
public TypeTrajetEnum KMVoitureTrajet{get;set;}
}
在视图中,您可以使用Html.RadioButtonFor帮助器
来渲染单选按钮@Html.RadioButtonFor(m => m.KMVoitureTrajet, TypeTrajetEnum.Simple ) Trajet simple
@Html.RadioButtonFor(m => m.KMVoitureTrajet, TypeTrajetEnum.AR )Trajet A/R
在返回视图的控制器操作中,您可以通过设置:
预先选择一个值var model = new Model{
KMVoitureTrajet = TypeTrajetEnum.AR
};
return View(model);
答案 1 :(得分:0)
试试这个:
<div class="col-md-6 col-sm-6">
<div class="col-md-6 col-sm-6">
<div class="float-right">
<table>
<tr>
<td class="td-radio">
<% var KMVoiture_IsTrajetSimple = Model.KMVoiture_IsTrajetSimple;
if (KMVoiture_IsTrajetSimple)
{ %>
<input id="Voiture_IsTrajetSimple" name="Voiture_TypeTrajet" type="radio" checked = "checked"/>
<% } else { %>
<input id="Voiture_IsTrajetSimple" name="Voiture_TypeTrajet" type="radio" />
<% } %>
<label class="label-radio" for="Voiture_IsTrajetSimple">Trajet simple</label>
</td>
</tr>
</table>
</div>
</div>
<div class="col-md-6 col-sm-6">
<div class="float-right">
<table>
<tr>
<td class="td-radio">
<% var KMVoiture_IsTrajetAR = Model.KMVoiture_IsTrajetAR;
if (KMVoiture_IsTrajetAR)
{ %>
<input id="Voiture_IsTrajetAR" name="Voiture_TypeTrajet" type="radio" checked = "checked"/>
<% } else { %>
<input id="Voiture_IsTrajetAR" name="Voiture_TypeTrajet" type="radio" />
<% } %>
<label class="label-radio" for="Voiture_IsTrajetAR">Trajet A/R</label>
</td>
</tr>
</table>
</div>
答案 2 :(得分:0)
你能用吗?
$sPattern = '/^[-@\w[:space:]]+$/';
答案 3 :(得分:0)
奇怪的是,我只是通过直接从模型中获取值来解决问题,而不使用变量,如:
<input id="Voiture_IsTrajetSimple" name="Voiture_TypeTrajet" type="radio"
<%if (Model.KMVoiture_IsTrajetSimple)
{%>
checked
<% } %>>
<label class="label-radio" for="Voiture_IsTrajetSimple">Trajet simple</label>
它起作用了:/。