我看到和奇怪的例外,完全出於如何解決這個問題的想法。我確定我忽略了一些非常明顯的東西。我有以下看法工作,但做了一些事情,現在不知道爲什麼突然停止。MVC3 @ Html.EditorForModel NullReferenceException
// All in an Area
// Controller
public ViewResult Test()
{
return View();
}
[HttpPost]
public ViewResult Test(TestModel testModel)
{
// Do some work
// Redirect or
return View(testModel);
}
// Model
public class TestModel
{
[Required]
public string Name { get; set; }
}
// View
@model MyApp.Areas.Admin.Models.TestModel
@{
ViewBag.Title = "Create New User";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@section HeadSection {
<link href="@Url.Content("~/Content/MvcMembership.css")" rel="stylesheet" type="text/css" />
}
<h2 class="someclass">Test Form</h2>
<div class="otherclass">
@using (Html.BeginForm("Test", "MyController"))
{
@Html.EditorForModel()
<input type="submit" value="Create" />
@Html.ValidationSummary(true)
}
</div>
我收到我的實際代碼或測試控制器/視圖在@ Html.EditorForModel()上HTTPGET以下異常。
System.NullReferenceException was unhandled by user code
Message=Object reference not set to an instance of an object.
Source=App_Web_field.master.5f132152.av8tutrk
StackTrace:
at ASP.views_inputbuilders_editortemplates_field_master.__Render__control1(HtmlTextWriter __w, Control parameterContainer) in http://server/Views/InputBuilders/EditorTemplates/Field.Master:line 5
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
at System.Web.UI.Control.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)
at System.Web.Mvc.ViewPage.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
InnerException:
任何想法都會很棒! - 傑夫
[編輯]幾顆子彈:
- 我有測試代碼工作解決方案/項目。主要區別是項目規模。這是一個有很多領域,控制器,模型和視圖的大項目。所以路由,引用等等是不同的。我甚至跨過並確認模型爲空,並且我可以找到它的一點點閱讀它EditorFor [Model]使用反射來創建字段,所以它是別的東西。
- 我找到了一個工作示例在線,同時尋找解決方案:http://mvcmembership.codeplex.com/
a:你傳遞了一個非null TestModel作爲模型嗎? b:它使用了什麼編輯器?一個默認的?一個自定義的?什麼? –
非null和null都是。 TestModel是模型。我正在使用VS2010。看到我上面的問題編輯。 –