如果用户已登录或已经在结帐过程中输入了他的个人数据,则单选按钮会从视图代码中获取类focus
和active
(salutation = true表示用户是先生userxy ):
<label class="btn btn-secondary btn-salutation @(salutation && (loggedIn || WebShopSession.Instance().WebShopCheckout.IsSalutationSet) ? "focus active" : "")">
@Html.RadioButtonFor(model => model.Salutation, true, new { @class = "visibleradio" }) Herr
</label>
在外观上,这很好用(并且设置了类,如您在上面看到的):
但是,当我单击按钮继续下一步时,我收到一条验证错误,提示未设置单选按钮。
奇怪的是,当根据视图代码设置投放和付款时,相同的方法在结帐的另一个地方也可以正常工作
<label for="@("shippingoption" + currentShipping)" class="btn btn-secondary btn-salutation @(shippingMethod.Id == WebShopSession.Instance().WebShopCheckout.ShippingID ? "active focus" : "")" onclick="setShippingData('@(shippingMethod.Name)', '@(shippingMethod.Price)')">
您可能会注意到,在代码的第一行中,类顺序是 focus focus ,在第二个示例中,类顺序是 active focus ,但是我也尝试更改这并没有效果;)
编辑:
我还尝试提供单选按钮ID,并在标签上添加了for="radiouniqueid"
,但这并没有改变。
编辑: 我也尝试过:
<label class="btn btn-secondary btn-salutation focus active">
可在其他单选按钮上使用,但不能在此处使用。
整个小组看起来像这样:
<div class="btn-group btn-group-toggle" data-toggle="buttons">
<label class="btn btn-secondary btn-salutation @(salutation && (loggedIn || WebShopSession.Instance().WebShopCheckout.IsSalutationSet) ? "focus active" : "")">
@Html.RadioButtonFor(model => model.Salutation, true, new { @class = "visibleradio" }) Herr
</label>
<label class="btn btn-secondary btn-salutation @(!salutation && (loggedIn || WebShopSession.Instance().WebShopCheckout.IsSalutationSet) ? "focus active" : "")">
@Html.RadioButtonFor(model => model.Salutation, false, new { @class = "visibleradio" }) Frau
</label>
</div>
那么,我在这里没看到什么? 谢谢
答案 0 :(得分:0)
有时您在编码时失明...
我需要这样设置属性Checked
:
<label class="btn btn-secondary btn-salutation @(salutation && (loggedIn || WebShopSession.Instance().WebShopCheckout.IsSalutationSet) ? "focus active" : "")">
@Html.RadioButtonFor(model => model.Salutation, true, new { @class = "visibleradio", @Checked = salutation && (loggedIn || WebShopSession.Instance().WebShopCheckout.IsSalutationSet) ? "checked" : "" }) Herr
</label>