MVC الاحتجاج الصفحة الافتراضية عند فتح صفحة مختلفة؟
-
20-08-2019 - |
سؤال
ولقد حصلت على التطبيق بسيطة MVC (RC1) إعداد، واراه بعض السلوك الغريب. تعرض صفحة الرئيسية / مؤشر قائمة من العناصر باستخدام ListView. هنا هو رمز HomeController:
Function Index()
ViewData("results") = From m In context.MyTable
Return View()
End Function
الصفحة الرئيسية / Index.aspx للتو عرض القائمة على ذلك، ورمز له وراء هذا:
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
واستمارة / Index.aspx لا يوجد لديه التعليمات البرمجية خلف - مرة أخرى، مجرد كعب
والمشكلة اراه هو أنه عندما أحاول أن انتقل إلى نموذج / مؤشر، وأحصل على "كائن مرجع لم يتم تعيين إلى مثيل كائن". على التعليمات البرمجية خلف من الصفحة الرئيسية / Index.aspx.vb. لماذا هذا؟ أحاول أن تبحر بعيدا عن تلك الصفحة - لماذا هو محاولة تنفيذ التعليمات البرمجية خلف؟ إذا كنت التفاف التعليمات البرمجية مثل هذا:
If ViewData("results") IsNot Nothing Then
MyListView.DataSource = ViewData("results")
MyListView.DataBind()
End If
وكل شيء يعمل بشكل صحيح، ولكنه لا يبدو مثل الأول ينبغي أن يكون للقيام بذلك. أنا شيء مفقود؟
تحديث: لكل طلب، وهنا محتويات نموذج / 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"
لا ينبغي أن Form.Index؟