Я видел подобный вопрос здесь на SO, но я считаю, что мой немного отличается.
ОК, поэтому у меня есть простое представление:
<%@ 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>
И мой контроллер здесь:
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();
}
}
}
Теперь, после загрузки моей Get
версии представления Quadratic
, я получаю следующее сообщение от VS2010:
Object reference not set to an instance of an object
Теперь, я вроде понимаю сообщение в нем само по себе, но не плохо ли создавать новый объект класса в самом представлении? Вот почему я пытался справиться с этим в контроллере только для Post
.....
Хмм ...