Лучше использовать хелпер со строгой типизацией @Html.RadioButtonFor()
для решения проблемы привязки переключателя, как в примере ниже:
Модель
Public Class AgencySweepSettingsModel
' other properties
Public Property AccountType As String
End Class
View
@Html.RadioButtonFor(Function (model) model.AccountType, "Checking", New With { Key .id = "rdChecking" })<label for="rdChecking">Checking</label>
@Html.RadioButtonFor(Function (model) model.AccountType, "Savings", New With { Key .id = "rdSavings" })<label for="rdSavings">Savings</label>
Действие контроллера
Public Function ActionName() As ActionResult
Dim model As AgencySweepSettingsModel = New AgencySweepSettingsModel()
' other stuff
' assume dsAgencySweepInfo is a DataSet
If dsAgencySweepInfo.Tables(0).Rows(0).Item(5) = "C" Then
model.AccountType = "Checking"
Else
model.AccountType = "Savings"
End If
' other stuff
Return View(model)
End Function
<HttpPost()>
Public Function ActionName(ByVal model As AgencySweepSettingsModel) As ActionResult
' do something
Return View(model)
End Function
Если вы по-прежнему хотите использовать стандартный BindAttribute
вместо строго типизированной модели представления, то атрибут name
для элементов <input>
должен совпадать с частью Include
, которая содержит имя свойства для обеих переключателей:
<input type="radio" id="rdChecking" name="AccountType" value="Checking"/><label for="rdChecking">Checking</label>
<input type="radio" id="rdSavings" name="AccountType" value="Savings" /><label for="rdSavings">Savings</label>
Обратите внимание, что, поскольку переключатель всегда имеет только одно выбранное значение в одной и той же группе, вы должны использовать одно свойство, которое привязано к нескольким <input type="radio" />
элементам.