无法在MVC 3中创建联系表单

时间:2012-10-02 14:07:02

标签: vb.net asp.net-mvc-3 razor

我正在尝试创建一个简单的联系表单。这是我的模特:

Imports System.Data.Entity
Imports System.ComponentModel.DataAnnotations

Public Class Contact

    Public Property Name() As String
    Public Property Title() As String
    Public Property Company() As String
    Public Property CompanyAddress() As String
    Public Property PhoneNumber() As String
    Public Property NumberOfEmployees() As String
    Public Property EmailAddress() As String
    Public Property Subject() As String
    Public Property Message() As String

End Class

这是我的观点:

@ModelType MyBlog.Contact
@Code
    ViewData("Title") = ViewBag.Title
End Code
@Using Html.BeginForm()

    @Html.LabelFor(Function(model) model.EmailAddress)
    @Html.EditorFor(Function(model) model.EmailAddress)
    @Html.ValidationMessageFor(Function(model) model.EmailAddress)

    @<input type="submit" value="Send" />

End Using

而且,这是我的控制器:

Function Contact() As ActionResult

    Return View("", "_FinalSubPageLayout", "")

End Function

我得到的错误是:

  

传入字典的模型项是“System.String”类型,   但是这个字典需要一个'MyBlog.Contact'类型的模型项。

我该怎么做才能解决此错误?谢谢。

2 个答案:

答案 0 :(得分:1)

 'Return View("", "_FinalSubPageLayout", "")

  Dim myModel as New Blog.Contact
  'fill myModel

  Return View("", "_FinalSubPageLayout", myModel)

我不确定第一个"",您可能需要指定实际名称或传递Nothing或其他内容。

答案 1 :(得分:1)

您将""作为模型传递给您的视图,该视图需要类型为MyBlog.Contact的模型。我不确定这两个""参数中的哪一个应该是模型,但是你需要使它成为MyBlog.Contact的实例或者使用不需要模型的重载。 / p>