MVC Aufrufe Standardseite, wenn eine andere Seite zu öffnen?
-
20-08-2019 - |
Frage
Ich habe einen einfachen MVC (RC1) App eingerichtet habe, und ich bin etwas merkwürdiges Verhalten zu sehen. Die Home / Index-Seite zeigt eine Liste der Elemente ein Listview verwenden. Hier ist der Homecontroller-Code:
Function Index()
ViewData("results") = From m In context.MyTable
Return View()
End Function
Die Home / Index.aspx Seite hat nur ein Listview auf, und der Code hinter hat dies:
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
MyListView.DataSource = ViewData("results")
MyListView.DataBind()
End Sub
Das funktioniert gut, wenn zu Hause / Index navigieren. Allerdings habe ich eine andere Ansicht und Controller bekommt Formular genannt. Es ist nur ein Stummel gerade jetzt, so ist hier die FormController:
Function Index()
Return View()
End Function
Die Form / Index.aspx hat keinen Code hinter -. Wieder, nur ein Stummel
Das Problem ist, ich sehe, dass, wenn ich versuche Formular / Index zu navigieren, erhalte ich „Objektverweis nicht auf eine Instanz eines Objekts.“ auf dem Code hinter der Home / Index.aspx.vb. Warum ist das? Ich versuche, von dieser Seite zu navigieren weg - warum es versucht, den Code hinter auszuführen? Wenn ich den Code wie folgt wickeln:
If ViewData("results") IsNot Nothing Then
MyListView.DataSource = ViewData("results")
MyListView.DataBind()
End If
alles richtig funktioniert, aber es scheint nicht, wie ich das tun müssen sollte. Bin ich etwas fehlt?
Update: Pro Anfrage, hier ist der Inhalt der 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>
Lösung
Ist das richtig?
Inherits="ProviderFeedback.Index"
Sollte das nicht Form.Index werden?