2009-01-30 76 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?