MVC가 다른 페이지를 열 때 기본 페이지를 호출합니까?
-
20-08-2019 - |
문제
간단한 MVC (RC1) 앱이 설정되어 있으며 이상한 동작이 있습니다. 홈/색인 페이지에는 ListView를 사용하는 항목 목록이 표시됩니다. HomeController 코드는 다음과 같습니다.
Function Index()
ViewData("results") = From m In context.MyTable
Return View()
End Function
Home/Index.aspx 페이지에는 단지 ListView가 있으며 뒤에있는 코드에는 다음과 같습니다.
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
MyListView.DataSource = ViewData("results")
MyListView.DataBind()
End Sub
이것은 가정/색인으로 탐색 할 때 잘 작동합니다. 그러나 나는 형식이라는 또 다른 뷰와 컨트롤러를 가지고 있습니다. 지금은 스터브 일뿐입니다. 여기에 FormController가 있습니다.
Function Index()
Return View()
End Function
Form/Index.aspx에는 코드가 없습니다. 다시는 스터브 만 있습니다.
내가보고있는 문제는 양식/색인으로 탐색하려고 할 때 "객체 참조가 객체 인스턴스로 설정되지 않음"을 얻는다는 것입니다. Home/Index.aspx.vb의 뒤에있는 코드에서. 왜 이런거야? 해당 페이지에서 멀리 탐색하려고합니다. 왜 코드를 실행하려고 하는가? 코드를 다음과 같이 랩핑하면 다음과 같습니다.
If ViewData("results") IsNot Nothing Then
MyListView.DataSource = ViewData("results")
MyListView.DataBind()
End If
모든 것이 올바르게 작동하지만 그렇게 해야하는 것 같지는 않습니다. 내가 뭔가를 놓치고 있습니까?
업데이트 : 요청 당, 다음은 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>
해결책
이게 옳은 거니?
Inherits="ProviderFeedback.Index"
형태가되어서는 안됩니까?
제휴하지 않습니다 StackOverflow