Свойства модели не устанавливаются при возврате в контроллер для публикации
Я ослеп, уставившись на это. Когда я нажимаю "Сохранить" в представлении, для модели, отправляемой в метод сохранения контроллера, не заданы значения, все они являются значениями по умолчанию. Что мне не хватает? Я на самом деле использую ту же технику из другого проекта... На мой взгляд, данные заполняются очень хорошо, я могу отредактировать их и нажать "Сохранить", код входит в метод SetSiteTerms в контроллере, но не имеет данных из Посмотреть.:-(Я знаю, что это что-то простое и глупое, но я просто пока не вижу этого.
Модель:
Imports System.ComponentModel.DataAnnotations
Imports System.Runtime.Serialization
<KnownType(GetType(SiteToA))> _
Public Class SiteToA
<ScaffoldColumn(False)> _
Public Property ID As Integer = 0
Public Property AgreementHTML As String = String.Empty
Public Property AgreementName As String = String.Empty
Public Property IsActive As Boolean = False
Public Sub New()
MyBase.New()
End Sub
End Class
Посмотреть:
<%@ Control Language="VB" Inherits="System.Web.Mvc.ViewUserControl(Of Community_Portal_Admin.SiteToA)" %>
<% Using Html.BeginForm("SetSiteTerms", "SiteToA", FormMethod.Post, New With {.id = "SiteTermsForm"})%>
<div class="gridFrame">
<% Html.Telerik().EditorFor(Function(m) m.AgreementHTML) _
.Name("AgreementHTML") _ ' Name must be the same as the property name in the model
.Encode(True) _
.HtmlAttributes(New With {.style = "height:300px;"}) _
.Render()%>
<br />
<div class="smallFrameLeft">
<%: Html.ActionLink("Cancel", "Index", "Home", Nothing, New With {.class = "t-button", .Style = "font-size:12px;"})%>
</div>
<div class="smallFrameRight">
<input type="submit" value="Save" class="t-button" />
</div>
</div>
<% End Using%>
контроллер:
Imports Telerik.Web.Mvc
Public Class SiteToAController
Inherits System.Web.Mvc.Controller
Function Index() As ActionResult
Dim setting As SiteToA
Try
setting = SiteToARepository.One(Function(d) d.IsActive = True)
ViewData.Model = setting
Return PartialView()
Catch ex As Exception
Throw
End Try
End Function
<HttpPost()> _
Function SetSiteTerms(ByVal model As SiteToA) As ActionResult
Dim setting As SiteToA
Try
setting = SiteToARepository.One(Function(d) d.ID = model.ID)
TryUpdateModel(setting)
If Not SiteToARepository.Update(setting) Then Throw New Exception("There was a problem during update")
Return PartialView()
Catch ex As Exception
Return PartialView()
Finally
If Not setting Is Nothing Then
setting.Dispose()
setting = Nothing
End If
End Try
End Function
End Class
РЕДАКТИРОВАТЬ: я обновил мой взгляд и контроллер. Любые идеи, почему моя модель заполнена, могут редактироваться в представлении, но когда я отправляю сообщение с помощью кнопки сохранения, модель, отправленная в контроллер, не имеет данных???
1 ответ
Я обновил оригинальный пост, чтобы показать ответ, предоставленный Telerik, также моя проблема с остальной моделью была глупо отсутствующей: lol