Question

J'ai une simple application MVC (RC1) configurée et je constate un comportement étrange. La page Accueil / Index affiche une liste d'éléments à l'aide d'un ListView. Voici le code HomeController:

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

La page Home / Index.aspx contient simplement un ListView et le code derrière a ceci:

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

Cela fonctionne bien lorsque vous accédez à Home / Index. Cependant, j'ai une autre vue et contrôleur appelé Form. C'est juste un talon en ce moment, alors voici le FormController:

Function Index()
    Return View()
End Function

Le formulaire / index.aspx n'a pas de code derrière - encore une fois, un stub.

Le problème que je vois est que lorsque j'essaie de naviguer vers Form / Index, j'obtiens & "Référence d'objet non définie sur une instance d'objet. &"; sur le code derrière Home / Index.aspx.vb. Pourquoi est-ce? J'essaie de naviguer en dehors de cette page - pourquoi tente-t-il d'exécuter le code derrière? Si j'emballe le code comme ceci:

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

tout fonctionne correctement, mais il ne semble pas que je devrais le faire. Est-ce que je manque quelque chose?

Mise à jour: voici le contenu 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>
Était-ce utile?

La solution

Est-ce exact?

Inherits="ProviderFeedback.Index"

Cela ne devrait-il pas être Form.Index?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top