我现在每时每刻都有这个问题。然后,我永远不知道如何正确和轻松地修复它。所以请一劳永逸地帮助我!
我的form
(cihForm)没有绑定到视图。加载视图后,将文本添加到两个输入框,然后单击我的“保存”按钮,调试器将转到FormsViewModel
>中的“新建”构造函数。按原样填充俱乐部和类别,一旦完成,调试器将转到“控制器”中的Create_Post
功能。
一旦进入HTTPpost
动作,我的模型就会有俱乐部和类别,但表格是空的。我的所有字段都分配了“无”或默认数据。
模型
Public Class FormsViewModel
Public form As cihForm = New cihForm()
Public Clubs As List(Of cihOrganizationSub) = New List(Of cihOrganizationSub)
Public Categories As List(Of cihCategoryOrgDef) = New List(Of cihCategoryOrgDef)
Public Sub New()
Dim lists As cihLists = New cihLists()
'Clubs
lists.loadOrganizationSubs(ZenCommon.CurrentOrgId, ZenCommon.CurrentUserId)
Clubs = New cihOrganizationSubList(ZenCommon.CurrentOrgId, ZenCommon.CurrentUserId).subList
'Categories
lists.loadCategoryOrgDef(ZenCommon.CurrentOrgId)
Categories = lists.organizationClubCategories
End Sub
End Class
控制器
<HttpGet>
<ActionName("Create")>
Function Create_Get() As ActionResult
Dim viewModel As FormsViewModel = New FormsViewModel()
Dim emptyList() As String = {}
'List of Orgs
ViewBag.SubOrgList = New SelectList(viewModel.Clubs, "subId", "codDescr", viewModel.form.selectedSubOrgId)
'List of Events
Dim search As cihEventSearch = New cihEventSearch(ZenCommon.CurrentOrgId, "", Date.Now.AddMonths(-1), Date.Now.AddMonths(1), True, emptyList, emptyList, emptyList)
ViewBag.EventList = New SelectList(search.eventList.OrderByDescending(Function(evt) evt.startUtc), "eventId", "eventTitle", viewModel.form.selectedEventId)
ViewBag.HideRightColumn = True
ViewBag.BodyClass = "span10"
Return View()
End Function
<HttpPost>
<ActionName("Create")>
Function Create_Post(form As FormsViewModel) As ActionResult
Return View()
End Function
查看
@ModelType MVCProject.FormsViewModel
@Using Html.BeginForm()
@Html.TextBoxFor(Function(model) model.form.Title, New With {.placeholder = "Title", .class = "hideOffFocus input-full large-type"})
@Html.TextAreaFor(Function(model) model.form.Description, New With {.placeholder = "Description", .class = "hideOffFocus input-full"})
<input type="submit" name="cmdSave" value="Save" id="cmdSave" class="btn btn-primary" />
End Using
答案 0 :(得分:1)
尝试使用查看中的@Model MVCProject.FormsViewModel
绑定模型。
答案 1 :(得分:-1)
我的问题是我忘了用&#34; Property&#34;标记我的物品。在我的模型中标记。我讨厌我必须为VB做这个。
Public Class FormsViewModel
Public Property form As cihForm = New cihForm()
Public Property Clubs As List(Of cihOrganizationSub) = New List(Of cihOrganizationSub)
Public Property Categories As List(Of cihCategoryOrgDef) = New List(Of cihCategoryOrgDef)
Public Sub New()
Dim lists As cihLists = New cihLists()
'Clubs
lists.loadOrganizationSubs(ZenCommon.CurrentOrgId, ZenCommon.CurrentUserId)
Clubs = New cihOrganizationSubList(ZenCommon.CurrentOrgId, ZenCommon.CurrentUserId).subList
'Categories
lists.loadCategoryOrgDef(ZenCommon.CurrentOrgId)
Categories = lists.organizationClubCategories
End Sub
End Class