我的控制器中有以下操作方法。我这里有一个多页面向导方案。现在,当我单击下一步时,我得到“....类型未标记为序列化”错误消息。我看过有关同一问题的帖子,但无法找到我的解决方案。
public ActionResult startOpenJAccount()
{
return View(vmJ);
}
for this method the view is something like:
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<%using (Html.BeginForm("contReg")){ %>
<%:Html.Serialize("vmJ", Model) %>
<fieldset>
<legend> Individual Personal Profile</legend>
<table class="col1">
<tr>
<td><div class="display-label">Title</div></td>
<td><div class="display-field"><%: Html.TextBoxFor(m=>m.newMember.title) %></div></td>
</tr>
<tr>
<td><div class="display-label">First Name</div></td>
<td><div class="display-field"><%: Html.TextBoxFor(m=>m.newMember.FirstName )%></div></td>
</tr> <tr>
</table>
<div class="command"><input type="submit" name="next" value="Next" /></div>
<div class="command"><input type="submit" name="cancel" value="Cancel" /></div>
<%}%>
</fieldset>
此页面发布到以下操作方法:
public ActionResult contReg(string next, string cancel)
{
if (next != null)
{
vmJ.members.Add(vmJ.newMember);
vmJ.newMember = new Individual();
return RedirectToAction("displayRegInfo");
}
if (cancel != null)
return RedirectToAction("displayRegInfo");
return RedirectToAction("Index","default");
}
单击“下一步”返回此错误。提到“未标记为可序列化”的类甚至不包括在目前涉及的对象中,而是稍后在同一控制器中使用。
我因此而陷入困境,请尽快帮助。
答案 0 :(得分:0)
如果这是一个Entity Framework对象,那么你有两个问题
使用POCO模板进行实体框架。在模板.tt代码中将您的类标记为可序列化,或通过名为与您的类相同的分部类包含[Serializable]