Прегледах много сайтове и предложения, но не можах да накарам обвързващата концепция да работи. Изправен съм пред следния проблем.
Имам следния клас модел, както е показано по-долу: Главен модел на изглед:
Public Class MasterVM
Public Property Language As LanguageVM
Public Property Question As QuestionVM
Public menus As List(Of MenuVM)
Public Property UserControlName As String
Public Property Model As Object
End Class
Модел на езиков изглед
Public Class LanguageVM
#Region "Properties"
Public Property IsEnglish As Boolean
#End Region
End Class
Моят клас контролер:
Public Class WizardController
Inherits System.Web.Mvc.Controller
'
' GET: /Wizard
Function Index() As ActionResult
Dim oWizard As New Wizard
Dim oMasterWizard As New MasterVM
Dim IsNewlyIniated As Boolean = False
If (System.Web.HttpContext.Current.Session(Constants.WizardObjectCollection) IsNot Nothing) Then
If (System.Web.HttpContext.Current.Session(Constants.WizardObjectCollection).ToString <> "") Then
oMasterWizard = DirectCast(System.Web.HttpContext.Current.Session(Constants.WizardObjectCollection), MasterVM)
Else
IsNewlyIniated = True
End If
Else
IsNewlyIniated = True
End If
If (IsNewlyIniated) Then
oMasterWizard = oWizard.GetWizardInfo()
If (Session("Language").ToString() = "Spanish") Then
oMasterWizard.Wizard.Language.IsEnglish = False
Else
oMasterWizard.Wizard.Language.IsEnglish = True
End If
System.Web.HttpContext.Current.Session(Constants.WizardObjectCollection) = oMasterWizard
End If
Return View("Wizard", oMasterWizard)
End Function
<HttpPost()>
Function GetLanguageInfo(ByVal oLanguage As LanguageVM) As ActionResult
Try
Dim a As Integer
a = 10
Catch ex As Exception
Throw ex
End Try
End Function
End Class
Искам да покажа два бутона за избор в моя изглед, показващи език като английски и испански. По подразбиране той трябва да бъде обвързан с моя езиков клас isenglish и isspanish свойство.
и когато се случи публикацията, трябва да получа стойността, ако потребителят я е променил в свойството Is selected. как да го получа.
Кодът на моята ASCX страница е както следва:
<%@ Control Language="VB" Inherits="System.Web.Mvc.ViewUserControl(Of SBE.Services.MasterWizard.LanguageVM)" %>
<form method="post" action="/Wizard/GetLanguageInfo">
<fieldset>
<legend>Wizard Language</legend>
<p>Please select the language for your Wizard</p>
<%= Html.RadioButtonFor(Function(model) model.IsEnglish, True)%>English
<%= Html.RadioButtonFor(Function(model) model.IsEnglish, False)%> Spanish
<input id="btnNext" type="submit" value="Next">
Още една цел е, че след като се обвържа, искам актуализираната стойност, избрана от потребителя в обект, и да я предам на публикуване на действие, дефинирано в контролера. Всяка помощ ще бъде високо оценена.