2011-07-31 23 views
1

asp.net mvc 3.0では、私はデシリアライズし、入力隠されたファイルに格納されているオブジェクトします。ここでMvcSerializer()。逆シリアル化(シリアライゼーションモード...)

はSerializableクラスです:

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

[Serializableを]これは私が隠しフィールドを生成する方法である:

<%:Html.Serialize ( "regData"、モデル、 Microsoft.Web.Mvc.SerializationMode.Signed)%>

が、私は次のような方法を通じてそれをデシリアライズするとき、私は私のオブジェクトのnull値を取得:

VARシリアライズされた=のRequest.Form [ "REGDATAを"];

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

     } 

いずれかが私を助けてくださいことはできますか?

+0

あなたはREGDATAインスタンスがnullの意味ですか?インスタンスは「空」です(例:nullではなく、NameプロパティとEmailプロパティがnullの場合)。 Request.Form ["regData"]はnullですか?または、他の何か? – 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---html-serialize-asp-net-4-mvc3 –

+0

私もTryUpdateodel()を試してみましたが、正常に動作しました。ありがとう! –

関連する問題