Свойства модели не устанавливаются при возврате в контроллер для публикации - PullRequest
0 голосов
/ 03 сентября 2011

Я ослеп, уставившись на это.Когда я нажимаю «Сохранить» в представлении, для модели, отправляемой в метод сохранения контроллера, не заданы значения, все они являются значениями по умолчанию.Что мне не хватает?Я на самом деле использую ту же технику из другого проекта ... На мой взгляд, данные заполняются очень хорошо, я могу отредактировать их и нажать "Сохранить", код входит в метод 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 Ответ

0 голосов
/ 08 сентября 2011

Я обновил оригинальный пост, чтобы показать ответ, предоставленный Telerik, также моя проблема с остальной моделью была глупо отсутствующей: lol

...