我有一個視圖模型像Html.Serialize回報的NullReferenceException
namespace ViewModel
{
[Serializable]
public class TestViewModel
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
}
另外,我有一個動作方法:
public ActionResult Index()
{
TestViewModel model = new TestViewModel
{
Id = -1,
Name = "Some name",
Description = "Some description"
};
return View(model);
}
而且我觀是這樣的:
@using Microsoft.Web.Mvc
@model ViewModel.TestViewModel
@using (Html.BeginForm())
{
Html.Serialize("model", Model, SerializationMode.EncryptedAndSigned);
//....Editor fields
}
在行「Html.Serialize(」model「,Model,SerializationMode.EncryptedAndSigned);」調試器停止並返回異常「對象引用未設置爲對象的實例」(NullReferenceException)。雖然模型不爲null幷包含初始值。
我使用ASP.Net MVC 3(剃刀)和堆棧跟蹤低於:
in Microsoft.Web.Mvc.SerializationExtensions.SerializeInternal(HtmlHelper htmlHelper,
String name, Object data, SerializationMode mode, Boolean useViewData, MvcSerializer
serializer)
in Microsoft.Web.Mvc.SerializationExtensions.SerializeInternal(HtmlHelper htmlHelper,
String name, Object data, SerializationMode mode, Boolean useViewData)
in Microsoft.Web.Mvc.SerializationExtensions.Serialize(HtmlHelper htmlHelper, String
name, Object data, SerializationMode mode)
in ASP._Page_Views_Wizard_Index_cshtml.Execute()
in c:\Projects\TestProject\Views\Wizard\Index.cshtml:line 15
in System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
in System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
in System.Web.WebPages.StartPage.RunPage()
in System.Web.WebPages.StartPage.ExecutePageHierarchy()
in System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext,
TextWriter writer, WebPageRenderingBase startPage)
in System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer,
Object instance)
in System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter
writer)
in System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
in System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext
controllerContext, ActionResult actionResult)
in System.Web.Mvc.ControllerActionInvoker.
<>c__DisplayClass1c.InvokeActionResultWithFilters>b__19()
in System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter,
ResultExecutingContext preContext, Func`1 continuation)
什麼是錯在我的代碼?
您必須提供有關您所看到的錯誤的更多詳細信息,例如堆棧跟蹤,您正在使用的MVC版本等。 – Levi