J'ai vu un similar question ici sur SO mais je crois que le mien diffère un peu.ASP.NET MVC Référence d'objet non définie sur une instance d'un objet
OK, donc j'ai une simple vue ici:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<RootFinder.Models.QuadCalc>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
Polynomial Root Finder - Quadratic
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Quadratic</h2>
<%= Html.BeginForm("Quadratic", "Calculate") %>
<% { %>
<div>
a: <%= Html.TextBox("quadAValue", Model.quadraticAValue) %>
<br />
b: <%= Html.TextBox("quadBValue", Model.quadraticBValue) %>
<br />
c: <%= Html.TextBox("quadCValue", Model.quadraticCValue) %>
<br />
<input type="submit" id="quadraticSubmitButton" value="Calculate!" />
<br />
<p><%= Model.x1 %></p>
<p><%= Model.x2 %></p>
</div>
<% } %>
</asp:Content>
Et mon contrôleur ici:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using RootFinder.Models;
namespace RootFinder.Controllers
{
public class CalculateController : Controller
{
//
// GET: /Calculate/
public ActionResult Index()
{
return View();
}
[AcceptVerbs(HttpVerbs.Get)]
public ViewResult Quadratic()
{
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ViewResult Quadratic(QuadCalc newQuadCalc)
{
return View(newQuadCalc);
}
public ActionResult Cubic()
{
return View();
}
public ActionResult Quartic()
{
return View();
}
}
}
Maintenant, lors du chargement de ma version Get
de la vue Quadratic
, je reçois le message suivant de VS2010:
Object reference not set to an instance of an object
Maintenant, je comprends un peu le message en lui-même, mais n'est-ce pas une mauvaise chose de créer un nouvel objet d'une classe dans la vue elle-même? Ce qui est la raison pour laquelle je tente de gérer cela dans le contrôleur pour le Post
seulement .....
Hmm ...
Hey, merci encore! :) Maintenant, est-ce que la syntaxe que vous avez fournie produit les mêmes résultats que la syntaxe que j'ai fournie dans mon article, juste une question de préférence? Ou signifient-ils des choses différentes? – Qcom
Je ne suis pas sûr de comprendre ce que vous entendez par sintax :) Voulez-vous dire le format? Je viens de copier votre code et de le mettre en forme comme je le souhaite. Si ce n'était pas votre sens s'il vous plaît laissez-moi le comprendre mieux. Merci! – Lorenzo
OK, c'est ce que je veux dire. Je fais juste référence au fait que vous avez placé des parenthèses '()' dans la 'return view()'. Le mien a renvoyé l'objet. Mais, c'est légèrement différent de la poste, comme vous l'avez dit, correct? – Qcom