将模型从强类型视图传递回控制器操作 - mvc2 VB.net

时间:2010-08-10 15:14:38

标签: asp.net-mvc vb.net model-view-controller asp.net-mvc-2

这就是我所拥有的。我有一个MVC应用程序,其中所有数据都通过我的数据库中的VisitDate表绑定在一起。主页是一个类型为VisitDate的强类型视图,它只是提取一些简单的数据。现在,这里是我遇到问题的地方。我需要一个链接,将视图中的当前模型传递回单独的控制器操作,以便我可以使用不同的数据呈现不同的页面。

这是我的两个控制器动作。我将从News.aspx转到FrontPage.aspx并希望通过SchoolVisit。

Function News(ByVal SchoolVisit As SchoolVisitDate) As ActionResult

    Dim db As New NewsData.NewsDB
    Dim repos As New NewsRepository

    Dim _classId As Integer
    _classId = (From a In db.SchoolClasses Where a.VisitDateID = SchoolVisit.VisitDateID Select a.ClassID).Single()

    ViewData("VisitDate") = FormatDateTime(SchoolVisit.VisitDate, vbShortDate)

    ViewData("Staff") = repos.GetStaff(_classId)
    ViewData("StockArticles") = From a In db.StockArticles Select a

    ViewData("Articles") = repos.GetArticles(_classId)

    Return View()
End Function

Function FrontPage(ByVal SchoolVisit As SchoolVisitDate) As ActionResult

    Dim repos As New NewsRepository
    Dim _VisitDateID As Integer

    _VisitDateID = SchoolVisit.VisitDateID

    ViewData("Editorial") = repos.GetEditorial(_VisitDateID)
    Return View()
End Function

2 个答案:

答案 0 :(得分:2)

Html.ActionLink可以提供帮助

答案 1 :(得分:1)

以下是您必须做的事情:

  1. 您应该为SchoolVisitDate强烈输入新闻视图。
  2. 有一个表单提交强类型的SchoolVisitDate东西回发到控制器
  3. 向控制器添加Post方法
  4. 将该post方法重定向到FrontPage视图。