문제

간단한 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"

형태가되어서는 안됩니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top