2011-09-03 73 views
0

我会盲目盯着这个。当我点击保存视图时,发送到控制器保存方法的模型没有设置值,它们都是默认值。 我错过了什么?我实际上是从另一个项目中使用完全相同的技术... 数据在我的视图中填充得很好,我可以编辑它并单击保存,代码在控制器中输入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 

编辑: 我更新了我的视图和控制器。 del被填充,可以在视图中进行编辑,但是当我使用保存按钮发布时,发送到控制器的模型没有数据?

+0

有没有帮助,可以针对这个有过吗?这一定很简单。把我的大脑装在这里.... –

回答

0

我已经更新了原单后显示由Telerik的,所提供的答案也是我与模型的其余问题是一个愚蠢的缺失:笑