2009-01-30 72 views
0

我有一个简单的MVC(RC1)应用程序设置,我看到一些奇怪的行为。 Home/Index页面显示使用ListView的项目列表。下面是HomeController的代码:当打开不同的页面时,MVC调用默认页面?

Function Index() 
    ViewData("results") = From m In context.MyTable 
    Return View() 
End Function 

家庭/的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 

该导航首页/索引时工作正常。但是,我有另一个视图和控制器称为Form。这只是一个存根现在,所以这里的的FormController:

Function Index() 
    Return View() 
End Function 

表单/的Index.aspx没有后面的代码 - 再次,只是一个存根。

我看到的问题是,当我尝试导航到Form/Index时,我得到“对象引用未设置为对象的实例。”在Home/Index.aspx.vb后面的代码中。为什么是这样?我试图离开那个页面 - 为什么它试图执行后面的代码?如果我用这样的代码包装:

If ViewData("results") IsNot Nothing Then 
    MyListView.DataSource = ViewData("results") 
    MyListView.DataBind() 
End If 

所有功能都正常,但它似乎并不像我应该那样做。我错过了什么吗?

更新:每请求时,这里的表/的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

你可以包含整个Form/Index.aspx吗?我知道它是“空的”,但我希望看到标题。 – 2009-01-30 15:02:03

+0

已被添加到问题中。不是技术上“空洞”,但我没有对输入做任何事情。 – gfrizzle 2009-01-30 15:10:57

回答

1

这是正确的?

Inherits="ProviderFeedback.Index" 

不应该是Form.Index?