MVC invocando página padrão ao abrir uma página diferente?
-
20-08-2019 - |
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>
Solução
É esta direita?
Inherits="ProviderFeedback.Index"
não deve ser isso Form.Index?