Pregunta

Tengo una aplicación MVC (RC1) simple configurada, y veo un comportamiento extraño. La página de inicio / índice muestra una lista de elementos mediante ListView. Aquí está el código de HomeController:

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

La página Inicio / Index.aspx solo tiene un ListView en él, y el código detrás tiene esto:

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

Esto funciona bien cuando se navega a Inicio / Índice. Sin embargo, tengo otra vista y controlador llamado Form. Es solo un trozo en este momento, así que aquí está el FormController:

Function Index()
    Return View()
End Function

El Form / Index.aspx no tiene código detrás, de nuevo, solo un trozo.

El problema que veo es que cuando trato de navegar a Form / Index, obtengo " La referencia de objeto no está establecida en una instancia de un objeto. " en el código detrás de Inicio / Index.aspx.vb. ¿Por qué es esto? Estoy tratando de navegar fuera de esa página, ¿por qué está tratando de ejecutar el código detrás? Si envuelvo el código así:

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

todo funciona correctamente, pero no parece que deba hacerlo. ¿Me estoy perdiendo algo?

Actualización: por solicitud, aquí está el contenido de 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>
¿Fue útil?

Solución

¿Es esto correcto?

Inherits="ProviderFeedback.Index"

¿No debería ser Form.Index?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top