There are 2 solutions test ok with Bootstrap verstion 4.3.1:
1. Add runat="server" clientidmode="Static" to original bootstrap code.
2. Use Request.Form["rdoName2"].
<div class="row">
<div class="col">
Checkbox and radio samples by BootStrap.
</div>
</div>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="same-address">
<label class="custom-control-label" for="same-address">Shipping address is the same as my billing address</label>
</div>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="save-info">
<label class="custom-control-label" for="save-info">Save this information for next time</label>
</div>
<div class="d-block my-3">
<div class="custom-control custom-radio">
<input id="credit" name="paymentMethod" type="radio" class="custom-control-input" required>
<label class="custom-control-label" for="credit">Credit card</label>
</div>
<div class="custom-control custom-radio">
<input id="debit" name="paymentMethod" type="radio" class="custom-control-input" required>
<label class="custom-control-label" for="debit">Debit card</label>
</div>
<div class="custom-control custom-radio">
<input id="paypal" name="paymentMethod" type="radio" class="custom-control-input" required>
<label class="custom-control-label" for="paypal">Paypal</label>
</div>
</div>
<div class="row">
<div class="col">
aspx server control 的 Checkbox 與 radio-button 要正確套用到 BootStrap 成功很麻煩.
<br />
解決方法: 直接將 Bootstrap 的 html語法加入 runat="server" 及其他屬性, 將 html control 轉為 server control 最快!.
<br />
以下範例將以上的 Bootstrap html control 加入 runat="server" 轉為 server control.
<br />
</div>
</div>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="chk1" runat="server" clientidmode="Static">
<label class="custom-control-label" for="chk1">CheckBox1</label>
</div>
<div class="custom-control custom-checkbox">
<input type="checkbox" class="custom-control-input" id="chk2" runat="server" clientidmode="Static">
<label class="custom-control-label" for="chk2">CheckBox2</label>
</div>
<div class="d-block my-3">
<div class="custom-control custom-radio">
<input id="rdo1" name="rdoName" type="radio" value="1" class="custom-control-input" required runat="server" clientidmode="Static">
<label class="custom-control-label" for="rdo1">Credit card</label>
</div>
<div class="custom-control custom-radio">
<input id="rdo2" name="rdoName" type="radio" value="2" class="custom-control-input" required runat="server" clientidmode="Static">
<label class="custom-control-label" for="rdo2">Debit card</label>
</div>
<div class="custom-control custom-radio">
<input id="rdo3" name="rdoName" type="radio" value="3" class="custom-control-input" required runat="server" clientidmode="Static">
<label class="custom-control-label" for="rdo3">Paypal</label>
</div>
</div>
<div class="row">
<div class="col">
For easy used with Request.Form["rdoName2"] on server side, forget about server control, use html control only:
</div>
</div>
<div class="d-block my-3">
<div class="custom-control custom-radio">
<input id="rdo21" name="rdoName2" type="radio" value="1" class="custom-control-input" required >
<label class="custom-control-label" for="rdo21">Credit card</label>
</div>
<div class="custom-control custom-radio">
<input id="rdo22" name="rdoName2" type="radio" value="2" class="custom-control-input" required >
<label class="custom-control-label" for="rdo22">Debit card</label>
</div>
<div class="custom-control custom-radio">
<input id="rdo23" name="rdoName2" type="radio" value="3" class="custom-control-input" required >
<label class="custom-control-label" for="rdo23">Paypal</label>
</div>
</div>