我有一个简单的MVC(RC1)应用程序设置,我看到一些奇怪的行为。 Home / Index页面使用ListView显示项目列表。这是HomeController代码:
Function Index()
ViewData("results") = From m In context.MyTable
Return View()
End Function
Home / Index.aspx页面上只有一个ListView,后面的代码有:
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
MyListView.DataSource = ViewData("results")
MyListView.DataBind()
End Sub
导航到Home / Index时工作正常。但是,我有另一个名为Form的视图和控制器。它现在只是一个存根,所以这里是FormController:
Function Index()
Return View()
End Function
Form / Index.aspx没有代码 - 再次,只是一个存根。
我看到的问题是,当我尝试导航到Form / Index时,我得到“对象引用未设置为对象的实例”。关于Home / Index.aspx.vb背后的代码。为什么是这样?我正试图离开那个页面 - 为什么它试图执行后面的代码?如果我像这样包装代码:
If ViewData("results") IsNot Nothing Then
MyListView.DataSource = ViewData("results")
MyListView.DataBind()
End If
一切正常,但似乎我不应该这样做。我错过了什么吗?
更新:每个请求,这是Form / Index.aspx的内容:
<%@ Page Title="" Language="VB" MasterPageFile="~/Views/Shared/Site.Master" AutoEventWireup="false" CodeBehind="Index.aspx.vb" Inherits="ProviderFeedback.Index" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<h3>
Enter Provider Feedback
</h3>
<form method="post" action="/Form/CreateNew">
<%=Html.TextBox("member")%>
<input type="submit" value="Submit" />
</form>
</asp:Content>
答案 0 :(得分:1)
这是对的吗?
Inherits="ProviderFeedback.Index"
不应该是Form.Index吗?