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

Asp.net mvc 将模型从强类型视图传递回控制器操作-mvc2 VB.net,asp.net-mvc,vb.net,model-view-controller,asp.net-mvc-2,Asp.net Mvc,Vb.net,Model View Controller,Asp.net Mvc 2,这是我的。我有一个MVC应用程序,其中所有数据都由数据库中的VisitDate表绑定在一起。主页是VisitDate类型的强类型视图,它所做的只是调出一些简单的数据。现在,我遇到了一个问题。我需要一个链接,将视图中的当前模型传递回一个单独的控制器操作,以便我可以使用不同的数据呈现不同的页面 下面是我的两个控制器操作。我将从News.aspx转到FrontPage.aspx,希望通过学校访问 Function News(ByVal SchoolVisit As SchoolVisitDate) A

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

下面是我的两个控制器操作。我将从News.aspx转到FrontPage.aspx,希望通过学校访问

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

Html.ActionLink可能会有所帮助

以下是您必须做的事情:

  • 您应该为SchoolVisitDate设置新闻视图的强类型
  • 有一个表单将强类型的SchoolVisitDate内容帖子提交回控制器
  • 将Post方法添加到控制器
  • 让post方法重定向到FrontPage视图

  • 我一直在处理这个问题,似乎无法正确理解语法。这会传回一个路径值?Length=4。您必须将模型数据作为命名参数传递。例如,这会起作用,但是,链接在菜单中,我不想捏造css使提交按钮看起来像文本链接:/I我猜您是从WebForms过来的。。。如果你愿意,MVC是非常有用的。你的代码看起来像Webforms,你不会用这种方式真正利用它的强大功能。你想在绝大多数情况下使用强类型模型,当你需要发回东西时使用http post,允许用户反馈,如果你不需要,则使用隐藏id引用的http get。