Pergunta

Eu tenho um aplicativo simples MVC (RC1) criou, e eu estou vendo algum comportamento estranho. The Home / index página mostra uma lista de itens usando um ListView. Aqui está o código HomeController:

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

A página inicial / index.aspx apenas tem um ListView sobre ele, e de trás código tem o seguinte:

Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    MyListView.DataSource = ViewData("results")
    MyListView.DataBind()
End Sub

Esta multa funciona ao navegar para Home / Index. No entanto, eu tenho uma outra visão e controlador chamado Form. É apenas um esboço agora, então aqui está a FormController:

Function Index()
    Return View()
End Function

O Form / index.aspx não tem nenhum código por trás -. Novamente, apenas um esboço

O problema que eu estou vendo é que quando eu tentar navegar para Form / Index, eu recebo "Referência de objeto não definida para uma instância de um objeto." no de trás do código de Início / Index.aspx.vb. Por que é isso? Eu estou tentando navegar longe essa página - por que é tentar executar o código por trás? Se eu quebrar o código como este:

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

tudo funciona corretamente, mas não parece que eu deveria ter que fazer isso. Estou faltando alguma coisa?

Update: Por pedido, aqui está o conteúdo do formulário / 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>
Foi útil?

Solução

É esta direita?

Inherits="ProviderFeedback.Index"

não deve ser isso Form.Index?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top