Я ослеп, уставившись на это.Когда я нажимаю «Сохранить» в представлении, для модели, отправляемой в метод сохранения контроллера, не заданы значения, все они являются значениями по умолчанию.Что мне не хватает?Я на самом деле использую ту же технику из другого проекта ... На мой взгляд, данные заполняются очень хорошо, я могу отредактировать их и нажать "Сохранить", код входит в метод 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
РЕДАКТИРОВАТЬ: Я обновил мой вид и контроллер. Любые идеи, почему моя модель заполнена, могут редактироваться в виде, но когда я публикую с помощью кнопки сохранения, модель отправляется в контроллерне имеет данных ???