2011-07-31 58 views
1

在asp.net mvc 3.0中,我想反序列化和存儲在輸入隱藏字段中的對象。MvcSerializer()。反序列化(序列化,SerializationMode ....)

這裏是Serializable類:

[序列化]

public class RegistrationData 
{ 
    public string Name { get; set; } 
    public string Email { get; set; } 
} 

和這是怎麼產生隱藏字段:

<%:Html.Serialize (「regData」,Model, Microsoft.Web.Mvc.SerializationMode.Signed)%>

但是當我反序列化,通過下面的方法,我得到空值我的對象:

VAR系列化=的Request.Form [ 「REGDATA」];

 if (serialized != null) 
     { 
      regData = (RegistrationData)newMvcSerializer().Deserialize(serialized,SerializationMode.Signed); 

     } 

任何一個能幫助我嗎?

+0

你的意思是REGDATA實例爲null?實例是「空的」(例如非空,但名稱和電子郵件屬性爲空)? Request.Form [「regData」]爲空?或者是其他東西? – Levi

回答

1

型號

public class RegistrationData 
    { 
     public string Name { get; set; } 
     public string Email { get; set; } 
    } 

查看

@using (Html.BeginForm()) 
{ 
     @Html.HiddenFor(m=>m.Name) 
     @Html.HiddenFor(m=>m.Email) 
} 

控制器

public ActionResult Foo(RegistrationData form) 
{ 
     //do 
     //form.Name ->> get name 
} 
+0

http://stackoverflow.com/questions/4476736/mvc-3-and-html-serialize-asp-net-4-mvc3 –

+0

我也試過TryUpdateodel(),它工作正常。謝謝! –