0

単純な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

これは、ホーム/インデックスに移動するときに正常に機能します。ただし、Formという別のビューとコントローラーがあります。今は単なるスタブなので、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>
4

1 に答える 1

1

これは正しいですか?

Inherits="ProviderFeedback.Index"

それは Form.Index ではないでしょうか。

于 2009-01-30T15:44:29.037 に答える